목록프로그래밍/Spring (3)
공부 기록
✅ 들어가며 JPA에서는 클래스에 필드로 클래스를 선언함으로써 연관관계를 매핑할 수 있다. 이번 프로젝트에서 아래와 같이 외래키를 연결하고 싶어 우선 N:1 단방향 연관관계를 매핑하는 방법에 대해 공부해보았다. ✅ N:1 연관 관계 매핑 객체지향 프로그램에서의 객체와 RDB에서의 테이블이 서로 연관관계를 맺는 방법이 다르다. 이 둘의 차이를 채우기 위해 매핑과정이 필요하고 이를 JPA가 수행하게 된다. N:1 연관관계는 간단히 @ManyToOne, @JoinColumn 어노테이션을 이용하면 된다. public class Food { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column private long foodId; @Column(null..
✅ 들어가며 학원에서 프로젝트를 진행했을 때 유효성 검사를 제대로 진행해보지 않아 이번 프로젝트에서 간단하게라도 유효성 검사 코드를 작성해보고자 한다. 스프링 부트에서 유효성 검사를 위한 어노테이션을 제공하고 있어서 프로젝트에 적용하기 위해 정리해보았다. ✅ 유효성 검사 📌 유효성 검사란? 데이터의 값이 유효한지, 조건이 타당한지 확인하는 것으로 올바르지 않은 데이터가 서버나 DB에 전송되는 것을 막기 위해 실시한다. 스프링부트에서는 @Valid나 @Validated 어노테이션을 이용하여 쉽게 유효성 검사를 진행할 수 있다. 📌 사용방법 0. 의존성 추가하기 implementation 'org.springframework.boot:spring-boot-starter-validation' 1. @Valid..
✅ 들어가며 오늘은 JPA를 이용하여 기능을 구현하기 위해 사용방법을 공부한 후 내 프로젝트에 적용해 보았다. ✅ JPA(Java Persistence API) ✔️ JPA란? 자바 응용 프로그램에서 관계형 데이터베이스의 관리를 할 수 있도록 하는 자바 API로 관계형 데이터베이스와 객체의 패러다임 불일치 문제를 해결할 수 있다. JPA는 인터페이스이기 때문에 구현체가 필요한데, 스프링 JPA는 하이버네이트(Hibernate)라는 구현체를 포함해서 제공하고 있다. ✔️ Entity JPA에서의 엔티티란 DB 테이블에 대응하는 하나의 클래스라고 생각하면 된다. 엔티티를 위한 어노테이션 📌 @Entity : JPA가 관리하며 DB의 테이블과 자바 클래스가 매핑된다. 접근제어자가 public 혹은 protec..