我有一个用户类:
@Entity
public class User extends Model {
@Id
public Long id;
public String email;
public String name;
public String password;
}
和一个司机班
@Entity
public class Driver extends Model {
@Id
public Long id;
@OneToOne (cascade = CascadeType.ALL)
@Column(unique = true)
public User user;
}
我想确保 user_id 在 Drivers 表中是唯一的。但是上面的代码并没有强制执行。(我可以创建多个具有相同用户 ID 的驱动程序)。
理想情况下,我不想在 User 类中添加 @OneToOne 关系,因为我的应用程序中有几个不同的角色(例如司机、教师、代理等),我不想用所有这些关系污染用户类。
我怎样才能做到这一点?