[英]JPA / Hibernate CreationTimestamp not working with PrimaryKeyJoinColumn
[英]Hibernate annotations using @PrimaryKeyJoinColumn
我在应用程序中使用休眠注释。 但是我遇到一个问题。
@Entity
@Table(name = DBConstants.T_A )
@Inheritance(strategy=InheritanceType.JOINED)
public class A {
//Id
@Column(name = "id")
@GeneratedValue(generator = A_SEQ)
@SequenceGenerator(name = A_SEQ, sequenceName=SeqA_SEQ)
private long id;
....
}
//Entity
@Table(name = "T_B")
@PrimaryKeyJoinColumn(name = "a_id")
public class B extends A{
String a;
.....
}
@Entity
@Table(name = "T_C")
@PrimaryKeyJoinColumn(name = "a_id")
public class C extends B
{
...
}
最初,我要保存class A
。 一段时间后,在保存class C
,我设置了已经保存的 A类id
。 在尝试保存类C时,它将创建一个新的class A
对象,并将该新创建的对象值设置为类C对象。 我需要首先创建的具有class A
对象ID的class C
对象。
我不明白为什么再次创建class A
的新对象。 谁能回答我的问题出了什么问题?
由于您希望C与已经存在的对象A具有相同的ID,因此这实际上不是实体继承。
基本上,您需要引用现有对象,并且应该使用@OneToOne
关系来映射此对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.