JPA 2

[JPA] 엔티티 설계 시 주의점

내가 까먹을까봐 쓰는 엔티티 설계 시 주의점엔티티에는 가급적 Setter를 사용하지 말자Setter가 모두 열려있다? → 변경 포인트가 너무 많아서, 유지보수가 어렵다.모든 연관 관계는 지연로딩으로 설정즉시로딩( `EAGER` ) 은 예측이 어렵고, 어떤 SQL이 실행될 지 추적하기 어렵다. 특히 JPQL을 실행할 때 N+1 문제가 자주 발생한다.실무에서 모든 연관 관계는 지연로딩(`LAZY`)으로 설정해야 한다.연관된 엔티티를 함께 DB에서 조회해야 하면, fetch join 또는 엔티티 그래프 기능을 사용한다.@XToOne(OneToOne, ManyToOne) 관계는 기본이 즉시로딩이므로 직접 지연로딩으로 설정해야 한다. ex) LAZY 로딩이 트랜젝션 밖에서 안되는 이슈, LAZY 로딩이 excep..

PROGRAMMING/JPA 2024.06.13

[JPA] spring could not prepare statement; sql [values nextval for hibernate_sequence]; nested exception is org.hibernate.exception.sqlgrammarexception: could not prepare statement

JPA 강의를 듣던 중 발생한 에러해결 방법 1@GeneratedValue(strategy = GenerationType.AUTO)spring could not prepare statement; sql [values nextval for hibernate_sequence]; nested exception is org.hibernate.exception.sqlgrammarexception: could not prepare statement를 해결하다가 커뮤니티에도 답변이 없길래 오랜만에 블로그에 씀spring boot 버전 : v2.7.4h2 버전 : 2.2.2241. MEMBER 엔티티2. MemberRepository (TEST) 이렇게 하고 실행하면 뭐 이런 에러가 뜬다.(ㅎ 당연함)  org.spr..

PROGRAMMING/JPA 2024.06.12