我正在迁移到JPA 2.1,我想将@org.hibernate.annotations.ForeignKey
替换为继承类中的内容。
在字段中,确定:
@ManyToOne
@JoinColumn(name = "any_columm_field_id",
foreignKey = @javax.persistence.ForeignKey(name = "any_name_field_fk"))
但是在继承类中,该怎么做?
示例代码:
超级
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "ANY_SUPER_TABLE_NAME")
public abstract class AnySuperClass { }
特定班级
@Entity
@Table(name = "ANY_SPECIFIC_TABLE_NAME")
// TODO Replace to JPA 2.1
// @org.hibernate.annotations.ForeignKey(name = "any_specific_any_super_fk")
public class AnySpecificClass extends AnySuperClass { }
任何帮助?
感谢您的时间。
答案 0 :(得分:1)
根据doc,应该这样做:
@Entity
@Table(name = "ANY_SPECIFIC_TABLE_NAME")
@PrimaryKeyJoinColumn(foreignKey = @ForeignKey(name = "any_specific_any_super_fk"))
public class AnySpecificClass extends AnySuperClass { }
虽然使用嵌入式注释找到答案并不容易......但是你应该在哪里使用它并不明显。
一年后不确定这对你有帮助......