문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
java:hibernate:gotchas [2020/11/09 18:33] kwon37xi [SQL / JPQL / HQL Keyword "in", "by" 같은 Keyword 가 JPA Entity package 에 들어가면 파싱 오류 발생] |
java:hibernate:gotchas [2023/07/03 14:54] (현재) kwon37xi [to-many 관계에 대해서 fetch join은 안하는게 낫다] |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| - | ====== Hibernate/ | + | ====== Hibernate/ |
| 하이버네이트/ | 하이버네이트/ | ||
| 줄 20: | 줄 20: | ||
| * 결과적으로 특별한 이유가 없다면 **to-many 관계에 대해서는 fetch join을 하지 말고 항상 '' | * 결과적으로 특별한 이유가 없다면 **to-many 관계에 대해서는 fetch join을 하지 말고 항상 '' | ||
| * [[java: | * [[java: | ||
| + | * '' | ||
| + | * [[java: | ||
| ===== One-To-One 과 Many-To-One 관계를 조심하라 ===== | ===== One-To-One 과 Many-To-One 관계를 조심하라 ===== | ||
| One-To-One과 Many-To-One 관계에서 One 측은 '' | One-To-One과 Many-To-One 관계에서 One 측은 '' | ||
| 줄 109: | 줄 110: | ||
| * [[https:// | * [[https:// | ||
| + | ===== null id in entry ===== | ||
| + | > HHH000099: an assertion failure occurred (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session): org.hibernate.AssertionFailure: | ||
| + | * [[https:// | ||
| + | * 핵심은 **" | ||
| + | * 하나의 트랜잭션에서 | ||
| + | * 쓰기 작업시 에러가 발생해서 '' | ||
| + | * 혹은, entity 삭제가 아니 직접 쿼리로 엔티티를 삭제하거나 한 상황에서 | ||
| + | * '' | ||
| + | * 나중에 flush 가 일어날 때 잘못된 Entity 혹은 DB상에 존재하지도 않지만 기존에 존재했던 것처럼 표시된 Entity 때문에 오류가 발생하게 된다. | ||
| + | * 쓰기 작업과 그 후속 읽기 작업 트랜잭션을 분리해서 '' | ||
| + | * 혹은 직접 쿼리를 통한 삭제 작업의 경우에는 '' | ||
| ===== 참조 ===== | ===== 참조 ===== | ||
| * [[http:// | * [[http:// | ||
| * 기타 직접 겪은 것들을 정리한다. | * 기타 직접 겪은 것들을 정리한다. | ||