所以我有这个结构。具有多个级别和表的JPA/Hibernate继承。
表1 ID字段1 FIELD2 discriminatorValue
表2 ID 场3
表3 ID 字段4
而且我想如下使用继承。
@DiscriminatorColumn("discriminatorValue")
@Entity
@Inheritance
@Table("Table1")
public class T1 {
@Id
private int id;
...
private String field1;
..
private String field2;
..
}
@SecondaryTable(name = "Table2", pkJoinColumns = {@PrimaryKeyJoinColumn(name = "id", referencedColumnName = "id")})
@DiscriminatorValue("tbl2")
@Entity
public class T2 extends T1 {
private String field3;
..
}
@SecondaryTable(name = "Table3", pkJoinColumns = {@PrimaryKeyJoinColumn(name = "id", referencedColumnName = "id")})
@DiscriminatorValue("tbl3")
@Entity
public class T3 extends T2 {
private String field4;
..
}
我在找的是当我试图保存一个T3对象时,T2中的辅助表没有包含在内。
感谢
是否为T2工作?T3是否保存T1而不是T2? – wrschneider
是的,除了自T2以来不存在,T2和T3上的id字段之间的外键链接失败。所以生成的SQL看起来像这样。 插入T1(...) 插入T3(...) 并且没有生成T2插入。 – BadgerB