1

我正在尝试使用JPA 注释设计我的实体类

我想做的是如下:

带有
id、***email、password、activation_key、active、role的 USER 表

以及许多TYPES OF USER 表,例如。
STUDENT_TABLE
USER_ID FirstName LastName 公司地址等

MENTOR
USER_ID 名字姓氏 DOB 部门等

当 USER 将根据他们的角色注册时,他们将被存储在两个表中(USER、MENTOR/STUDENT)

当他们登录时,ManagedBean 将查看 UESR 表以验证身份验证。

我厌倦了使用@OneToOne,但它只适用于两张桌子。

如果any1可以提供帮助,我将不胜感激!

谢谢

4

1 回答 1

3

如果我理解正确,您想要的是继承关系:

@Entity
@Inheritance(strategy = JOINED)
public abstract class User { ... }

@Entity
public class Student extends User { ... }

@Entity
public class Mentor extends User { ... }

JOINED 策略告诉 JPA User 类中的字段存储在一个表(USER)中,并且每个子类在自己的表(STUDENT 和 MENTOR)中保留自己的字段,并使用连接列来引用 USER 表ID。

于 2012-11-23T13:53:52.503 回答