【问题标题】:JPA Inheritence For Entity History Persistence实体历史持久性的 JPA 继承
【发布时间】:2018-07-25 15:00:37
【问题描述】:

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

我正在考虑一种方法,我们将每个或我们的“具体”实体(例如 CUSTOMER)用@MappedSuperclass 注释......数据将保存到 CUSTOMER 表中。我们将实体子类 Customer 类称为“CustomerHistory”,并添加我们需要的字段(historyId(主键)、开始时间、结束时间),这些字段将被持久化到 CUSTOMER_ADDRESS 表中。

这行得通吗?使用 JPA 处理 2 个表中的主键?

谢谢。

【问题讨论】:

  • 能否详细说明REVINFO的改造问题以及遇到的性能问题?
  • 简单的 Hibernate 对我有用。

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


【解决方案1】:

如果其他人正在考虑这个......这似乎不是一个有效的选择。这是我收到的堆栈跟踪。

原因:org.springframework.beans.factory.BeanCreationException:在类路径资源 [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class] 中定义名称为“entityManagerFactory”的 bean 创建错误:调用 init方法失败;嵌套异常是 java.lang.ClassCastException: org.hibernate.mapping.SingleTableSubclass 不能转换为 org.hibernate.mapping.RootClass

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 2013-04-18
    • 2010-09-29
    • 2015-08-02
    • 1970-01-01
    相关资源
    最近更新 更多