Hibernate:参考现有父记录插入子记录

时间:2017-02-01 19:53:08

标签: hibernate

我有父表和子表。父记录已由其他进程插入。我需要添加引用PARENT记录的子记录,例如:

PARENT
===========
PARENT_ID   PK
ADDRESS     UNIQUE

CHILD
===========
CHILD_ID   PK
PARENT_ID  FK
ADDRESS    UNIQUE

插入CHILD记录时,我必须引用父记录的唯一信息是ADDRESS。我需要使用子级的ADDRESS从父表中获取PARENT_ID来设置子级的FK。

有没有办法在hibernate中执行此操作,以便我不需要通过ADDRESS查询父级以将其与子记录一起插入?或者,我是否继续沿着此路径继续查询PARENT by ADDRESS,然后将PARENT对象传递给子项?

1 个答案:

答案 0 :(得分:0)

在我看来,你应该通过地址明确地读取父母,然后将该引用设置为孩子并保存孩子。

否则你将不得不使用某种本地查询,这应该永远是最后的手段,因为你将失去解决方案的可移植性。

您将留下本机查询,因为HQL批量操作(如UPDATE)不支持连接..既不隐式也不显式,您需要在单个查询中执行整个操作。

就我而言,电话是你的。