看了你的描述,ProjectAEntity与ProjectBEntity应该有相同的字段,从面向对象的层面来讲,这两个类可以抽象一个基类,使用JPA的 单表继承策略 应该可以解决你的问题;使用JPA的好处之一就是既能够满足面向对象的设计实体,又很够很多策略的满足表的映射
单表继承策略:
多个Java实体映射到一张数据表,在表中通过一列辨别字段来区别不同类别的实体
a.在父类实体的@Entity注解下添加如下的注解:
@Inheritance(Strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name=”辨别字段列名”)
@DiscriminatorValue(父类实体辨别字段列值)
b.在子类实体的@Entity注解下添加如下的注解:
@DiscriminatorValue(子类实体辨别字段列值)
具体的例子可以搜索一下,应该有很多
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…