JPA 3

05. 연관관계 매핑 기초

단방향 매핑예제 시나리오• 회원과 팀이 있다.• 회원은 하나의 팀에만 소속될 수 있다.• 회원과 팀은 다대일 관계다. @Entitypublic class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; private int age; // @Column(name = "TEAM_ID") // private Long teamId @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; //팀 저장Team team = new Team();team.setName("Team..

JPA 2024.04.28

[JPA 프로그래밍] - 04. 엔티티 매핑

객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리한다. JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수 주의점 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자) DB에 저장할 필드에 final 사용 불가 final 클래스, enum, interface, inner 클래스는 @Entity로 맵핑할 수 없음 @Entity 속성 name @Entity(name="anotherMember") JPA에서 사용할 엔티티 이름을 지정 기본값은 클래스 이름을 그대로 사용(예: Member) 중복되는 클래스 이름이 없으면 가급적 기본값을 사용한다. @Table @Table은 엔티티와 매핑할 테이블 지정 속성 기능 기본값 name 매핑할 테이블 이름 ..

JPA 2024.04.06

[JPA 프로그래밍] - 03. 영속성 관리

영속성 컨텍스트란 엔터티를 영구 저장하는 환경 이라는 뜻 엔티티 매니저를 통해서 영속성 컨텍스트에 접근한다. EntityManager.persist(entity) -> 엔티티를 영속성 컨텍스트에 저장한다는 뜻!! 엔티티의 생명주기 비영속(new/transient) 영속성 컨텍스트와 전혀 관계가 없는 새로운 상태 //객체를 생성한 상태(비영속) Member member = new Member(); member.setId("member1"); member.setUsername("회원1"); 영속(managed) 영속성 컨텍스트에 관리되는 상태, 1차 캐시에서 관리되는 상태 //객체를 생성한 상태(비영속) Member member = new Member(); member.setId("member1"); mem..

JPA 2024.03.02