【问题标题】:org.hibernate.MappingException: Type not supported ENVERsorg.hibernate.MappingException:类型不支持 ENVER
【发布时间】:2011-02-24 04:18:59
【问题描述】:

当我引入复合主键时,我刚刚开始收到此错误。关于为什么的任何理想?我一直试图弄清楚这一点没有成功。

Caused by: org.hibernate.MappingException: Type not supported: org.hibernate.type.SerializableType
    at org.hibernate.envers.configuration.metadata.IdMetadataGenerator.addIdProperties(IdMetadataGenerator.java:71)
    at org.hibernate.envers.configuration.metadata.IdMetadataGenerator.addId(IdMetadataGenerator.java:107)
    at org.hibernate.envers.configuration.metadata.AuditMetadataGenerator.generateFirstPass(AuditMetadataGenerator.java:380)
    at org.hibernate.envers.configuration.EntitiesConfigurator.configure(EntitiesConfigurator.java:102)
    at org.hibernate.envers.configuration.AuditConfiguration.<init>(AuditConfiguration.java:86)
    at org.hibernate.envers.configuration.AuditConfiguration.getFor(AuditConfiguration.java:99)
    at org.hibernate.envers.event.AuditEventListener.initialize(AuditEventListener.java:315)
    at org.hibernate.event.EventListeners$1.processListener(EventListeners.java:198)
    at org.hibernate.event.EventListeners.processListeners(EventListeners.java:181)
    at org.hibernate.event.EventListeners.initializeListeners(EventListeners.java:194)

更新编辑 - 1

使用 Hibernate 3.3.1(随 JBoss 5.1 提供)以及 Spring MVC 2.5.6 和 jboss-envers 1.2.2GA。

POJO:

@Entity
@Table(name="program_store_rel")
@Audited
public class ProgramStoreRel extends MappedModel implements Serializable
{

  @EmbededId
  private ProgramStoreRelPK psRelPK;

  .
  .
  .
}

@Embeddable
public class ProgramStoreRelPK implements Serializable
{
  /**
 * Identifies the store that this item belongs to
 */
  @OneToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
  @JoinColumn(name="store_id",nullable=false,updatable=true,insertable=true)
  private Store store;

  /**
   * Identifies the program that this item belongs to
   */
  @OneToOne(fetch=FetchType.LAZY, cascade=CascadeType.ALL)
  @JoinColumn(name="program_id",nullable=false,updatable=true,insertable=true)
  private Program program;
 .
 .
}  

【问题讨论】:

  • 您能发布有问题的代码以及任何映射吗?另外,很高兴知道 Hibernate 版本。

标签: java hibernate hibernate-envers


【解决方案1】:

显然这是这个版本的 JBoss Envers 中的一个错误(参见 ENVERS-76)。在 Hibernate Envers (HHH-4751) 中报告了一个类似的问题,并在版本 4.1.7 中得到了修复。

不幸的是,建议的解决方法是避免使用复合 ID。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    • 2017-07-12
    • 2022-01-03
    • 1970-01-01
    相关资源
    最近更新 更多