쿵쿵일지
1. 프록시엔티티를 조회할 때 연관된 엔티티들이 항상 사용되는 것이 아님.여기서 보면 getTeam()은 사용할 때 가져오면 됨. JPA는 이런 문제를 해결하려고 엔티티가 실제 사용될 때까지 데이터베이스 조회를 지연하는 방법을 제공한다. 이것을 지연로딩이라 한다. em.find(Member.class, "member1"); 이 메소드는 영속성 컨텍스트에 엔티티가 없으면 데이터베이스를 조회.em.getReference(Member.class, "member1"); 이렇게 엔티티를 조회하면 JPA는 데이터베이스를 조회하지 않고 실제 엔티티 객체도 생성하지 않는다. 대신에 데이터베이스 접근을 위임한 프록시 객체를 반환한다. 프록시의 특징 프록시 클래스는 실제 클래스를 상속받아 겉 모양이 같다. 사용하는 입장에..
보호되어 있는 글입니다.
엔티티의 연관관계를 매핑할 때는 다음 3가지를 고려해야 한다.다중성 (@ManyToOne, @OneToMany, @OneToOne, @ManyToMany)단방향, 양방향테이블은 외래 키 하나로 조인을 사용해서 양방향으로 쿼리가 가능반면 객체는 참조용 필드를 가지고 있는 객체만 연관된 객체를 조회할 수 있다. 객체 관계에서 한 쪽만 참조하는 것을 단방향 관계, 양쪽이 서로 참조하는 것을 양방향 관계연관관계 주인JPA는 두 객체 연관관계 중 하나를 정해서 데이터베이스 외래 키를 관리하는데 이것을 연관관계의 주인이라 한다.연관관계 주인은 mappedBy 속성을 사용하지 않는다. 연관관계의 주인이 아니면 mappedBy 속성을 사용하고 연관관계의 주인 필드 이름을 값으로 입력해야 한다. 다대일 다대일 단방향 다..