이건 이제 JPA에서 관리하겠다는 걸 의미.그런데 이제 여기에 뒤에 name 속성이 붙을 수도 있음.이런식.근데 이건 JPA에서 사용할 엔티티 이름을 지정하겠다는 의미.디폴트값은 클래스이름.다른 패키지에서 이름이 충돌하지 않도록 주의해야함.(1) 기본 생성자는 필수 (
기본키는 두가지로 나뉜다.직접할당할거냐, 자동 생성할거냐.기본키를 어플리케이션에서 직접 할당한다.즉, 내가 직접 값 바인딩해서 jpa한테 넘겨야한다.어노테이션만 붙이면 된다.(1) 자바 기본형(2) 자바 Wrapper형(3) String(4) java.util.Date
클래스 내부에서 이런 식@Column은 객체 필드를 테이블 칼럼에 매핑한다.이제 테이블 전체가 아니라 진짜 어트리뷰트에 매핑하는.어노테이션 뒤에 추가로 지정할 수 있는 속성은(1) name(2) nullable(3) unique(4) columnDefinition(5
영한 아재 말에 따르면..개념을 설명한다.기디비 때 ER다이어그램에서 일대다 일대일 그 개념과 유사하지만 살짝 다른 느낌도 있다.단지 여기서는 양쪽 테이블이 있을 때ex) 참조관계가 오로지아니면만의 경우라면 단방향이 되며,이렇게 양쪽에서 모두 바라보고 있으면 양방향이
회원에서 팀을 조회 시 (Member.team)팀에서 회원을 조회 시 (Team.members)위의 클래스 관계가 DB로 넘어오면Member가 Team테이블의 기본키를 외래키로 갖고 있다.외래키 하나만으로 양방향 조회가 가능하므로 처음부터 양방향 관계다.팀과 회원은 일
: Entity Manager를 만든다.엔티티 매니저 팩토리를 생성하는 코드.생성비용이 큼.따라서 어플리케이션 전체에서 공유하도록 설계되어 있다.여러 쓰레드가 동시에 접근해도 안전하다.그런데 Entity Manager는 여러 쓰레드가 동시에 접근하면 동시성 이슈가 존재
카페 프로젝트에서 데이터 구조는 아래 사진과 같다. 기존 user와 cafe 테이블만 독립적으로 있던 상황에서 review, scrap, survey가 추가됐다. 연관관계를 적용시켜보자. 다대일 적용 (1) Entity 정의 reveiw, scrap, survey 모
프록시가 필요한 이유 아래 두 Entity가 정의되었다고 가정하자. 아래와 같은 코드를 실행한다고 했을 때, 문제가 team.getName()에서 나타난다. team.getName()이 없다면? member를 가져왔는데... team을 안 쓸 거라면? ★★★굳이 M
BaseEntity는 테이블과 매핑되지 않고, 자식 Entity에게 공통으로 사용되는 매핑정보만 제공한다.매핑 정보를 재정의하고 싶으면 클래스 레벨에 @AttributeOverrides나 @AttributeOverride를 사용한다.연관관계를 재정의하려면 @Associ
특정 엔티티를 영속 상태로 만들 때 연관관계에 놓여있는 엔티티도 영속 상태로 만들고자 할 때 사용하는 기능영속 상태 : 영속성 컨텍스트가 관리하는 EntityCascadeType.PERSIST 옵션을 통해 team이 영속 상태가 되면 user도 영속 상태가 된다.Cas
멤버(1) - 주문(N) 간 양방향 연관관계. 그리고 멤버에서 주문 정보를 가져올 때 즉시로딩으로 설정했다고 가정하자.특정 멤버 조회 시 주문 정보도 같이 조회한다.에 따른 쿼리 수행문제는 JPQL을 사용할 때 발생한다.위 JPQL을 실행하면 JPA는 SQL을 생성하는