2
작동하지 일대일 2,이JPA 페치 = FetchType.EAGER 내 UserTbl 엔티티에서
@OneToOne(cascade = CascadeType.REMOVE, mappedBy = "user", fetch=FetchType.EAGER)
private RetailPostUserTbl retailPostUser;
@OneToOne(cascade = CascadeType.REMOVE, mappedBy = "user", fetch=FetchType.EAGER)
private BackOfficeUserTbl backOfficeUser;
이 그러나 모두는 항상 null입니다.
사용자는 둘 중 하나 이상에 속해야하며 둘 다 포함해야하지만 쿼리는 항상 null을 반환합니다.
나는이Root<UserTbl> root = cq.from(UserTbl.class);
root.fetch(UserTbl_.retailPostUser, JoinType.LEFT);
root.fetch(UserTbl_.backOfficeUser, JoinType.LEFT);
같은 기준 API를 통해 그것을 가져 오는 시도하지만 그들은 항상 여전히 null입니다.
이것이 작동하지 않는 이유는 무엇입니까?
역은 예를 들어, 잘 작동
는 RetailPostUserTbl, 이것은
@OneToOne(optional = false, cascade=CascadeType.REMOVE)
@PrimaryKeyJoinColumn
private UserTbl user;
또한 null을 반환하고 그 이유는 내가 FetchType.EAGER를 추가했기 때문입니다. 반대 작업은 새로운 편집을 참조하십시오. –
잘못된 일을하고있었습니다! 실제 데이터가 요청되었을 때 객체를로드했기 때문에 내성에 의해 실제로 발생하기 전에 내 주장을하고있었습니다. –