목록IT/JPA (3)
잡동사니
안녕하세요. yeTi입니다. 오늘은 JPA를 사용하면서 자주 사용하는 Fetch Join 의 특성에 대해 알아보고자 합니다. 공부 계기 공부가 부족한 탓에 엔티티의 @OneToOne 관계 설정 후 fetch join 으로 조인 대상을 필터링 하려는 시도를 했습니다..ㅜ 하지만 원하는 결과가 나오지 않아 원인을 찾기 위해 구글링을 하게 되었고 인프런에 계신 김영한님의 답변들을 보면서 궁금증을 해소하게 됐습니다. JPA 강의도 정주행을 해야하지만 현재 보고 있는 이펙티브 자바 완벽 공략 1부 를 완강 후 보도록 해야겠습니다. 원인 JPA 표준 스펙에는 fetch join 대상에 별칭이 없지만, 하이버네이트는 허용합니다. 즉, fetch join 대상에 별칭을 사용은 할 수 있지만 DB 일관성 문제들이 발생할..
안녕하세요. yeTi입니다. 오늘은 Entity 에서 하나의 필드로 다수의 관계를 가지는 경우에 대해 생각해보려고 합니다. @OneToOne 관계 설정 GiftEntity 와 UseEntity 에 대해서 1:1 관계설정을 다음과 같이 설정했습니다. public class GiftEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "seq", length = 20, nullable = false, columnDefinition = "BIGINT(20)") private Long id; ... @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "useSeq") private..
인프런의 자바 ORM 표준 JPA 프로그래밍 - 기본편 - 김영한 을 수강하면서 내용을 정리하고 간단한 후기를 남깁니다. 공감 개발자는 SQL 맵퍼다. 객체지향 설계를 할수록 맵핑작업만 늘어난다. 계층형 설계를 하더라도 결과물에 대한 신뢰를 할 수가 없다. (진한 의미의 계층 분할이 어렵다.) 가지고 있던 고민 객체지향 설계를 할때 필요없는 시점의 데이터도 조회하여야 하는가? 예) 회원 정보가 다른 정보와 연관관계를 가지고 있을때 회원 정보만 필요해도 다른 정보도 조회해서 모리에 가지고 있어야 하는가 - Proxy 활용 얻은 정보 객체의 정보를 update 할때는 객체의 정보만 변경해주면 알아서 DB에 반영된다. - Dirty Checking JPQL SQL을 추상화하여 객체기반 쿼리이다. EntityM..