목록2023/08/15 (2)
Rootable의 개발일기
📌 객체의 연관 관계 매핑 관계형 DB는 외래키를 통해 연관 관계를 맺는다. 다음은 관계형 DB에 맞춘 엔티티 설계다. 아래 코드를 통해 연관 관계 엔티티인 Team을 저장하면 ID 값이 저장된다. Team team = new Team(); team.setName("TeamA"); em.persist(team); Member member = new Member(); member.setName("member1"); member.setTeamId(team.getId()); em.persist(member); tx.commit(); 이처럼 ID 값이 저장되기 때문에 em.find 한 번으로 객체 조회가 완료되지 않는다. try { ... Member findMember = em.find(Member.class..
📌 엔티티 매핑(@Entity) 클래스에 @Entity를 선언하면 JPA가 관리하는 엔티티가 된다. 이로 인해 JPA는 애플리케이션 로딩 및 실행 시점에 매핑할 테이블을 자동 생성한다. 즉, create, insert 등의 DDL문을 자동으로 생성한다는 것이다. 다음과 같은 제약 조건을 줄 수 있다. @Entity public class Member { @Id private Long id; @Column(nullable = true, length = 10) //null 허용x, 길이 10 이하 private String name; private int age; ... JPA는 동적으로 객체를 생성하기 때문에 기본 생성자가 필수이며, 변경이 불가능한 필드를 선언해서는 안된다. final class enum..