[hibernate-issues] [Hibernate-JIRA] Created: (HHH-4928) Non-Audited Entity with @ManyToOne in PK causes error in Envers 1.2.2

Jeff Quandt (JIRA) noreply at atlassian.com
Wed Feb 17 18:22:47 EST 2010


Non-Audited Entity with @ManyToOne in PK causes error in Envers 1.2.2
---------------------------------------------------------------------

                 Key: HHH-4928
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4928
             Project: Hibernate Core
          Issue Type: Bug
          Components: envers
         Environment: Hibernate 3.3.2, Envers 1.2.2, Oracle 10.2
            Reporter: Jeff Quandt
         Attachments: enversError.txt

>From http://community.jboss.org/thread/148209?tstart=0:

We've been using Envers 1.2.1.GA w/ Hibernate 3.3.2.GA for some time now.  I'm attempting to update to 1.2.2 to make use of the RelationTargetAuditMode.NOT_AUDITED feature.  However, simply dropping the new library in place with no code changes gives the attached stack trace.  Truncated version below.

 

Including the RelationTargetAuditMode.NOT_AUDITED parameter or @NotAudited on all audited ManyToOne relationships made no difference.

org.jboss.seam.InstantiationException: Could not instantiate Seam component: org.jboss.seam.ioc.spring.contextLoader

...

Caused by: org.hibernate.HibernateException: could not init listeners

...

Caused by: org.hibernate.MappingException: Type not supported: org.hibernate.type.ManyToOneType
    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)
    ... 173 more

 

I'm trying to add relationships like below.  This relationship, without the targetAuditMode parameter, worked successfully in 1.2.1.  SomeEntity was not audited in 1.2.1 and was a static dictionary object, so I didn't have to worry about an Audit join table or an audit table for SomeEntity.  The column would be correctly filled in the audit table.  However, under 1.2.2 the same code does not deploy.

 

    @ManyToOne( fetch = FetchType.LAZY )
    @JoinColumn( name="SOME_ID", nullable=true )
    @Audited(targetAuditMode = RelationTargetAuditMode.NOT_AUDITED)
    private SomeEntity       someEntity;

Per Adam Warski's reply, this is due to a non-Audited entity with @ManyToOne in the PK.  This type of entity does exist in my project. 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list