[英]JPA many to many self referencing relation with additional column
我正在使用JPA,並將Hibernate用作SQL Server數據庫的提供程序。
我需要一個多對多自引用關系,該關系具有一個附加列或什至更多附加列。
那是我當前的代碼。 我正在通過Hibernate獲得例外:
@Entity
public class Person {
@OneToMany(cascade = CascadeType.ALL, mappedBy = "person", fetch = FetchType.EAGER)
private Set<Relation> relations;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "relPerson", fetch = FetchType.EAGER)
private Set<Relation> inverseRelations;
}
@Entity
public class Relation implements Serializable {
@Id
@ManyToOne(cascade = CascadeType.ALL, optional = false, fetch = FetchType.EAGER)
@PrimaryKeyJoinColumn(name = "PersonID", referencedColumnName = "id")
private Person person;
@Id
@ManyToOne(cascade = CascadeType.ALL, optional = false, fetch = FetchType.EAGER)
@PrimaryKeyJoinColumn(name = "RelPersonId", referencedColumnName = "id")
private Person relPerson;
}
在運行時,我從休眠中得到一個異常:
org.hibernate.TransientObjectException: object references an unsaved transient instance
有什么辦法可以更智能,更好地實現這一點嗎? 沒有得到那個例外。
謝謝,ihrigb
如果某個對象與Hibernate Session
不關聯,則該對象將是Transient
。
保存Person
時, Relation
列表的實例可能是Transient
(通常,該實例沒有標識符值)。
這是了解對象狀態的更好方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.