Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate Envers:嵌入式扩展MappedSuperClass在启动时引发异常_Java_Hibernate_Hibernate Envers - Fatal编程技术网

Java Hibernate Envers:嵌入式扩展MappedSuperClass在启动时引发异常

Java Hibernate Envers:嵌入式扩展MappedSuperClass在启动时引发异常,java,hibernate,hibernate-envers,Java,Hibernate,Hibernate Envers,我目前正试图在我的项目中使用Hibernate Envers,但我遇到了以下异常。我认为这是因为MedicalSummaryId不包含数据并扩展了映射的超类,但我不知道如何修复它 我使用的是Hibernate4.3.8.Final 例外情况: Caused by: org.hibernate.MappingException: Type not supported: org.hibernate.type.ComponentType at org.hibernate.envers.conf

我目前正试图在我的项目中使用Hibernate Envers,但我遇到了以下异常。我认为这是因为MedicalSummaryId不包含数据并扩展了映射的超类,但我不知道如何修复它

我使用的是Hibernate4.3.8.Final

例外情况:

Caused by: org.hibernate.MappingException: Type not supported: org.hibernate.type.ComponentType
    at org.hibernate.envers.configuration.internal.metadata.IdMetadataGenerator.addIdProperties(IdMetadataGenerator.java:97)
    at org.hibernate.envers.configuration.internal.metadata.IdMetadataGenerator.addId(IdMetadataGenerator.java:161)
    at org.hibernate.envers.configuration.internal.metadata.AuditMetadataGenerator.generateFirstPass(AuditMetadataGenerator.java:598)
    at org.hibernate.envers.configuration.internal.EntitiesConfigurator.configure(EntitiesConfigurator.java:107)
    at org.hibernate.envers.configuration.spi.AuditConfiguration.<init>(AuditConfiguration.java:130)
    at org.hibernate.envers.configuration.spi.AuditConfiguration.getFor(AuditConfiguration.java:180)
    at org.hibernate.envers.event.spi.EnversIntegrator.integrate(EnversIntegrator.java:76)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:312)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1859)
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:852)
    ... 87 more
MedicalHistoryId.java

@Embeddable
public class MedicalHistoryId implements Serializable {
    @NotNull public MedicalSummaryId medicalSummaryId;
    @NotNull public long id = 0;
}
MedicalSummaryId.java

@Embeddable
public class MedicalSummaryId extends AggregateRootId{
     // no data
}
AggregateRoot.id

@Embeddable
@MappedSuperclass
public class AggregateRootId implements Serializable {
    protected Integer id;
}

感谢您的帮助。

问题似乎来自复合键,因此,我找到了一个不令人满意的解决方法,而不是使用复合键,如果我使用简单键,它会工作

@Embeddable
@MappedSuperclass
public class AggregateRootId implements Serializable {
    protected Integer id;
}