我有两张名为学生和学生历史的表。学生的id是使用生成器生成的。当我插入学生时,我希望将相同的记录插入到具有相同ID的历史记录表中。我怎样才能做到这一点?
此致 KARTHIK。
答案 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>
然后,当您更新/插入学生实例时,历史记录中的外键将由休眠自动处理。