【发布时间】:2017-09-02 14:58:48
【问题描述】:
我正在使用 Spring Data JPA。
我有以下实体
人物实体
class Person{
private String id;
@OneToMany(mappedBy="owner")
private List<Contact> contacts;
...
}
与联系实体
class Contact{
private String id;
@ManyToOne
@JoinColumn(name="owner_id")
private Person owner;
...
}
当我想创建联系人实例时,我对如何映射所有者详细信息感到困惑。
Contact contact = new Contact();
contact.setOwner(?);
但在创建时,我将只有 owner_id。
我想在创建时单独设置 owner_id,但是为了有关联(在查询时),我已将其映射到具体类(Person)。
我试过了
class Contact{
@Column("owner_id")
private String ownerId;
@ManyToOne
@JoinColumn("owner_id")
private Person pwner;
}
但它的抛出错误重复引用 owner_id。
我不想使用 owner_id 查询 Person Table 并在创建联系人时将“Person”引用设置为 set。
我想在插入时使用 owner_id 和所有者引用,通过它我可以获得给定联系人的所有者详细信息。 如何解决这个问题。
提前致谢。
【问题讨论】:
标签: java hibernate orm spring-data-jpa hibernate-onetomany