在两个不同但相同的表中插入记录,Hibernate?

时间:2014-09-22 06:22:08

标签: java mysql database hibernate

我有2个表,对应2个类

class temp{
@Id
int x;
String name;

}

class perm{
@Id
int x;
String name;

}

让我们说temp_customer和perm_customer

两者相同

我想将temp_customer中的记录插入perm_customer。

但是使用hibernate执行此操作会在perm_customer中生成一个新的id并复制所有其他记录。我想在perm_customer中同样使用temp_customer的id。

2 个答案:

答案 0 :(得分:0)

perm表将拥有自己的主键并添加与temp的外键关系。 下面是temp和perm的表结构

class temp{
@Id
int x;
String name;

}

class perm{
@Id
int y;

@OneToOne
@JoinColumn(name="x")
temp t;

String name;

}

答案 1 :(得分:0)

它只是因为你有一个ID生成器而收到一个新ID。如果删除ID生成,您可以自由显式设置ID字段。

如果您仍需要其他案例的唯一ID,则应从全局序列(或您的数据库支持的任何内容)中轻松提取