В моей сущности 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;
Но оба они ВСЕГДА нулевые.
Пользователь должен принадлежать хотя бы одному из них или обоим, но запрос всегда возвращает нулевое.
Я пытался получить его с помощью критериев 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;