우리는 엔티티 같이이이 없습니다 FETCH 가입하세요. merge (User.INSTANCE) Item_x.user 속성이 NULL입니다.은 효과
JOIN FETCH 쿼리로 Item_x.user 속성을로드하여 (필요할 때) 특성이로드되었는지 확인합니다. 그러나 : 사용자 엔터티에 병합을 수행 한 경우 FETCH JOIN 경우에도 Item_x.user 속성은 NULL입니다.
은 내가 Item_x.INSTANCE 을 새로 고쳐 해결하려고하지만 난 호출 할 때 :em.refresh(Item_x.Instance);
=> 사용자가 null입니다.
데이터베이스를 보면 물론 사용자가 Item_x에 null이 아닌 것을 볼 수 있습니다.
OpenJPA가 Item_x에서 사용자를 올바르게로드하도록하려면 어떻게해야합니까? OpenJPA가 Item_x.user 속성을 올바르게 채우지 않는 이유는 무엇입니까/JOIN FETCH 문을 무시합니까?
Eager loading? 사용자는 필요한 경우에만 가져옵니다. 즉, 게으름의 지점입니다. –
네,하지만 사실 엔티티 "Item_x"를 업데이트 한 후 Item_x의 사용자 속성 (이전에 JOIN FETCH 쿼리로 페치를 강제 실행 한 경우)이 다시 비어 있습니다. 그게 문제 야. 나는 em.refresh (Item_x.Instance)에서 아무런 해결책도 보지 못했다. Item_x.user = NULL 인 채로 동일한 엔티티를 반환 할 것이기 때문입니다. 또한 FETCH JOIN을 다시 실행해도 사용자가 채워지지 않습니다. 그렇다면 엔티티가 Item_x.user를로드하도록 강제 할 수 있습니까? –
질문의 단어를 다시 입력하십시오. 다른 사람이 귀하의 질문에 답변 할 수있는 기회를주기 위해 너무 많은 세부 사항을 생략하고 있습니다. – Rick