JPA

jpa

[jpa] 지연로딩과 즉시로딩 FetchType.EAGER, LAZY, 프록시

지연로딩과 즉시로딩 JPA는 객체 그래프로 연관된 객체들을 탐색하는데, 객체가 DB에 저장되어있으므로 마음껏 탐색하기 어렵다. 따라서 처음부터 객체를 조회하지 않고, 실제 사용하는 시점에 조회한다.(이때 프록시를 이용한다.) 이것을 지연로딩이라고 한다. 하지만, 자주 함께 사용하는 객체들은 조인을 사용해서 함께 조회하는게 효과적이다. 이렇게 로딩하는 방식을 즉시 로딩이라고 한다. 아래 예제를 보자. @Data @Entity public class Member { private String username; @ManyToOne private Team team; } @Data @Entity public class Team { private String name; } //비즈니스로직 1 : 회원의 팀을 조회 ..

jpa

[jpa] 양방향 매핑 깊게 알아보기, JOIN(@OneToMany, @ManyToOne), where조건으로 select하기

예제 Entity, Member와 Order Member와 Order 두가지 Entity를 생성해준다. H2데이터베이스를 사용했다. 두 엔티티는 아래와 같다. @Entity @Table(name = "MEMBER") @SequenceGenerator( name = "HIBERNATE_SEQUENCE", sequenceName = "MEMBER_SEQ", initialValue = 1, allocationSize = 1 ) public class Member { @Id @GeneratedValue @Column(name = "MEMBER_ID") private Long id; @NotNull private String name; @Nullable private String city; @Nullable pr..

우주유령
'JPA' 태그의 글 목록