在我的 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。
我尝试通过这样的标准 api 获取它
Root<UserTbl> root = cq.from( UserTbl.class );
root.fetch( UserTbl_.retailPostUser, JoinType.LEFT );
root.fetch( UserTbl_.backOfficeUser, JoinType.LEFT );
但它们仍然始终为空。
任何想法为什么这不起作用?
相反的工作正常,例如
在 RetailPostUserTbl 中,这行得通
@OneToOne( optional = false, cascade=CascadeType.REMOVE )
@PrimaryKeyJoinColumn
private UserTbl user;