JPA对实体历史持久性的继承

时间:2018-02-14 22:34:43

标签: hibernate jpa hibernate-envers spring-data-envers

我们需要为我们的实体持久保存到单独的表历史记录中。我查看了Envers,但REVINFO表是改造现有客户和性能的问题。

我正在考虑一种方法,我们拥有每个或我们的具体"使用@MappedSuperclass注释的entites(比如CUSTOMER)....数据将保存到CUSTOMER表中。我们将实体子类Customer类称为" CustomerHistory"并添加我们需要的字段(historyId(主键),开始时间,结束时间)将保留到CUSTOMER_ADDRESS表。

这会有用吗? JPA处理2个表中的主键?

感谢。

1 个答案:

答案 0 :(得分:0)

如果有人想到这个......似乎不是一个有效的选择。这是我收到的堆栈跟踪。

引起:org.springframework.beans.factory.BeanCreationException:创建名称为' entityManagerFactory'的bean时出错在类路径资源中定义[org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]:调用init方法失败;嵌套异常是java.lang.ClassCastException:org.hibernate.mapping.SingleTableSubclass无法强制转换为org.hibernate.mapping.RootClass