如果在用户表
中找不到ID,我试图返回管理员select * /*both admin & user data */
from admin,user
where admin.id = user.id
我有Admin&用户(我用于其他目的)POJO。我在管理员中添加用户并使用@primarykeycolumnjoin & @onetoone (optional=false)
。
OpenJPA正确处理此问题,而Hibernate则提供NPE。有谁知道如何做这个Hibernate?
答案 0 :(得分:0)
我知道这不会直接回答这个问题,但我会考虑更改模型。通常,“admin”是分配给用户而不是独立实体的角色,允许您让用户在不同的场景中扮演不同的角色。
@Entity
@Table(name = "USER")
public class User {
@ElementCollection
@CollectionTable(name = "USER_ROLE", joinColumns = @JoinColumn(name = "USER_ID"))
@Column(name = "ROLE")
private final Set<Role> roles = new HashSet<>();
}
public enum Role {
GENERAL, ADMIN, ROOT
}