2011-02-24 5 views
4

Je viens de commencer à recevoir cette erreur lorsque j'ai introduit une clé primaire composite. Un idéal pour pourquoi? Je n'ai pas réussi à essayer de comprendre cela.org.hibernate.MappingException: Type non pris en charge ENVER

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) 

Update Edition - 1

En utilisant Hibernate 3.3.1 (avec JBoss 5.1 Expédié) avec Spring MVC 2.5.6 et 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; 
. 
. 
} 
+2

Pourriez-vous publier le code incriminé, ainsi que les correspondances? Aussi, il serait bon de connaître la version Hibernate. – jpkrohling

Répondre

1

Apparemment, c'est un bug dans cette version de JBoss Envers (voir ENVERS-76). Un problème similaire a été signalé dans Hibernate Envers (HHH-4751) et corrigé dans la version 4.1.7. Malheureusement, la solution de contournement suggérée consiste à éviter les ID composites.

Questions connexes