如何在hibernate

时间:2016-06-16 13:00:33

标签: java hibernate

核心问题

如何正确在hibernate的OneToMany关系中持久保存从child到parent的引用。

说明

我已实施以下Hibernate

的例子 Example 119说明了我的问题。为了方便起见,我将复制并解释这个问题中的情况:

所以我们有两个对象: 具有多个电话(对象2)(一对多双向关系)的人(对象1)。

这是他们可以初始化和保持的方式:

Person person = new Person();
Phone phone1 = new Phone( "123-456-7890" );
Phone phone2 = new Phone( "321-654-0987" );

person.addPhone( phone1 );
person.addPhone( phone2 );
entityManager.persist( person );
entityManager.flush();

Hibernate会将此转换为sql,如下所示:

INSERT INTO Phone
       ( number, person_id, id )
VALUES ( '123-456-7890', NULL, 2 )

INSERT INTO Phone
       ( number, person_id, id )
VALUES ( '321-654-0987', NULL, 3 )

问题是在应插入person_id的列中插入的“NULL”值。那么有没有办法让hibernate知道OneToMany关系并在引用列中插入其父级的Id(在本例中为person_id)?

任何帮助将不胜感激!在此先感谢:)

0 个答案:

没有答案