私の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です。
ユーザーはそれらの少なくとも1つまたは両方に属している必要がありますが、クエリは常にnullを返します。
私はこのような基準APIを介してそれをフェッチしようとしました
Root<UserTbl> root = cq.from( UserTbl.class );
root.fetch( UserTbl_.retailPostUser, JoinType.LEFT );
root.fetch( UserTbl_.backOfficeUser, JoinType.LEFT );
しかし、それらは常にnullです。
これが機能しない理由はありますか?
逆はうまくいきます、例えば
RetailPostUserTblでは、これは機能します
@OneToOne( optional = false, cascade=CascadeType.REMOVE )
@PrimaryKeyJoinColumn
private UserTbl user;