I am currently persisting an interface, Auditable. This interface is implemented by AbstractAuditEvent and this is in turn subclassed by AuditEvent. The mapping file is Auditable.hbm.xml and I create instances of AuditEvent and persist using this mapping.
This worked fine when I was using sdk 1.3/OC4J 9, but now I have moved to sdk 1.4 /OC4J 10g it fails like so:
net.sf.hibernate.MappingException: No persister for: com.xchanging.claim.log.AuditEvent
at net.sf.hibernate.impl.SessionFactoryImpl.getPersister(SessionFactoryImpl.java:347)
at net.sf.hibernate.impl.SessionImpl.getClassPersister(SessionImpl.java:2690)
at net.sf.hibernate.impl.SessionImpl.getPersister(SessionImpl.java:2697)
at net.sf.hibernate.impl.SessionImpl.saveWithGeneratedIdentifier(SessionImpl.java:763)
at net.sf.hibernate.impl.SessionImpl.save(SessionImpl.java:738)
at com.xchanging.claim.log.HibernateLoggerDAO.addToDatabase(HibernateLoggerDAO.java:34)
at com.xchanging.claim.log.DBLogger.audit(DBLogger.java:21)
at com.xchanging.claim.CMSAction.audit(CMSAction.java:498)
at com.xchanging.claim.ClaimHeaderAction.showClaim(ClaimHeaderAction.java:75)
at com.xchanging.claim.ClaimAction.execute(ClaimAction.java:73)
at com.xchanging.claim.common.web.framework.MainServlet.perform(MainServlet.java:46)
at com.xchanging.claim.servlet.CMSMainServlet.perform(CMSMainServlet.java:27)
at com.xchanging.xarchitecture.servlet.BaseServlet.handleRequest(BaseServlet.java:82)
at com.xchanging.xarchitecture.servlet.RequestUtils.perform(RequestUtils.java:118)
at com.xchanging.xarchitecture.servlet.BaseServlet.service(BaseServlet.java:98)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
at com.xchanging.claim.web.filter.ClientConfigFilter.doFilter(ClientConfigFilter.java:71)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
at com.xchanging.claim.web.filter.PermissionsFilter.doFilter(PermissionsFilter.java:62)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
at com.xchanging.security.http.SecurityFilter.perform(SecurityFilter.java:59)
at com.xchanging.xarchitecture.servlet.BaseFilter.handleRequest(BaseFilter.java:80)
at com.xchanging.xarchitecture.servlet.RequestUtils.perform(RequestUtils.java:118)
at com.xchanging.xarchitecture.servlet.BaseFilter.doFilter(BaseFilter.java:66)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
at com.xchanging.xarchitecture.servlet.NetworkPerformanceFilter.perform(NetworkPerformanceFilter.java:168)
at com.xchanging.xarchitecture.servlet.BaseFilter.handleRequest(BaseFilter.java:80)
at com.xchanging.xarchitecture.servlet.RequestUtils.perform(RequestUtils.java:118)
at com.xchanging.xarchitecture.servlet.BaseFilter.doFilter(BaseFilter.java:66)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:600)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
at java.lang.Thread.run(Thread.java:534)
Any ideas? other hibernate mappings seem to work OK and I have not changed anything except the SDK/app server versions.
|