如何在hibernate中将相同的序列生成器链接到两个表?

时间:2012-03-29 09:47:10

标签: hibernate

我有两张名为学生和学生历史的表。学生的id是使用生成器生成的。当我插入学生时,我希望将相同的记录插入到具有相同ID的历史记录表中。我怎样才能做到这一点?

此致 KARTHIK。

1 个答案:

答案 0 :(得分:0)

在您的映射中,您将学生和学生历史之间的关系定义为1:1或1:n关系,并为插入/更新定义级联。对于学生历史记录表中学生的外键,您使用<key>元素(将在学生的映射中定义)。

例如(此处为1:n关系)您在学生的映射中执行:

<bag name="studentHistory" cascade="all" ... >
  <key column="studentId" not-null="true">
  </key>
  <one-to-many class="com.xxx.StudentHistory"/>
</bag>   

然后,当您更新/插入学生实例时,历史记录中的外键将由休眠自动处理。