我有一个 Hibernate、spring 和 GWT 应用程序。我有两个表:员工和用户。
每个用户都是员工,因此我在数据库中有一对一的关系(它们由主键连接),因此用户扩展了员工。当我首先插入用户时一切正常,它会自动正确插入父母。但是,问题是当我尝试为现有员工添加用户条目时,它不是插入带有父 ID 的用户记录,而是重新创建员工记录和用户记录。
@javax.persistence.Entity
@javax.persistence.Table(name = "User")
@Inheritance(strategy = InheritanceType.JOINED)
@PrimaryKeyJoinColumn(name="Id")
public class User extends Employee
{ .... }
@Reflectable(assignableClasses = true, superClasses = true)
@javax.persistence.Entity
@javax.persistence.Table(name = "Employee")
@Inheritance(strategy = InheritanceType.JOINED)
@PrimaryKeyJoinColumn(name="Id")
public class Employee
{
@Id
@GeneratedValue
@Column(name="Id")
public Integer getId()
{
return id;
}
}
这是做事的正确方法吗?我该如何克服呢?
非常感谢。
更新1:
通过添加用户,我的意思是我想创建一个与员工具有相同 ID 的用户。基本上应该变成:
Insert into User (Id, username,..) Values (1, "Username", ...)