【发布时间】:2017-06-12 05:55:41
【问题描述】:
我在一个公共项目中有一组实体,我想覆盖子项目中的一些值。它可以是不同的映射、额外的字段等......
当我添加一个扩展通用实体的实体时,它被创建为子类并且需要鉴别列。
共同点:
@Entity
class SomeTable {
private Long id;
}
在子项目中
@Entity
class SomeTable extends common.SomeTable {
private String extraField;
}
我基本上想要的是将子实体(SubEntity)映射为 org.hibernate.mapping.RootClass。我使用 org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor 从 PersistenceUnitInfo 中明确删除了 common 的类,但它没有帮助。有没有办法禁止映射父类?
我正在使用 spring-boot 和 Hibernate 5.0.11
更新: 到目前为止,我想出了一个解决方案,用 xml 配置映射两个 SomeTable 实体并将它们从 PersistenceUnitInfo 中删除。根据我的观点,这不是很好的方法,但它允许做我想做的事情:单独保留几个项目的所有通用代码,并能够覆盖子项目中的一些模型......
【问题讨论】:
标签: spring hibernate jpa spring-boot