首页 > 解决方案 > 与hibernate中的抽象类的关系

问题描述

我正在设计一个这样的实体模型:

@Entity(name = "EntityDamage")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class EntityDamage {

    @Id   
    private long damage_id;

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "entityDamage")
    private Set<JTBDamageComment> JTB_Damage_Comment;
    
}

@Entity(name = "EntityCarDamage")
@Table(name = "EntityCarDamage", schema = "dbo", catalog = "InsuranceDamageDB")
public class EntityCarDamage extends EntityDamage {
    
    
    
}

@Entity(name = "EntityComment")
@Table(name = "EntityComment", schema = "dbo", catalog = "InsuranceDamageDB")
public class EntityComment {

    @Id
    @Column(name = "comment_id", nullable = false, precision = 0)   
    private long comment_id;

}

@Entity(name = "JTBDamageComment")
@Table(name = "JTBDamageComment", schema = "dbo", catalog = "InsuranceDamageDB")
public class JTBDamageComment {    

    @EmbeddedId
    private KeyDamageComment id = new KeyDamageComment();

    @ManyToOne
    @MapsId("damage_id")
    @JoinColumn(name = "damage_id")
    private EntityDamage entityDamage;

    @ManyToOne
    @MapsId("comment_id")
    @JoinColumn(name = "comment_id")
    private EntityComment entityComment;
}

在实体图中,一切正常,但EntityComment数据库级别的EntityCarDamagee没有关系,因为EntityDamage是抽象类。我的问题是:我是改变我的关系“将关系移动到EntityCarDamage ”还是存在其他方式?

标签: javahibernatejpa

解决方案


推荐阅读