Hi there!
I'm trying to integrate hibernate-dao with a Tapestry 5 project, and I'm running into some problems...
I have a SessionGenericDAOImpl class that gets the session from Tapestry when the class is instantiated. I can query with no problems. As soon as I try to save an entity, though, I get the following error (I've only pasted the most interesting lines here...)
[ERROR] TapestryModule.RequestExceptionHandler Processing of request failed with uncaught exception: org/hibernate/metadata/ClassMetadata.getIdentifier(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
java.lang.NoSuchMethodError: org/hibernate/metadata/ClassMetadata.getIdentifier(Ljava/lang/Object;Lorg/hibernate/engine/spi/SessionImplementor;)Ljava/io/Serializable;
at com.googlecode.genericdao.search.hibernate.HibernateEntityMetadata.getIdValue(HibernateEntityMetadata.java:58)
at com.googlecode.genericdao.search.hibernate.HibernateMetadataUtil.getId(HibernateMetadataUtil.java:63)
at com.googlecode.genericdao.dao.hibernate.HibernateBaseDAO._saveOrUpdateIsNew(HibernateBaseDAO.java:158)
at com.googlecode.genericdao.dao.hibernate.GenericDAOImpl.save(GenericDAOImpl.java:101)
at $DomainDAO_130e0338a1ba36b7.save(Unknown Source)
at $DomainDAO_130e0338a1ba3670.save(Unknown Source)
at com.voicesurge.xmlservice.pages.admin.domains.DomainsEdit.advised$onSuccess_130e0338a1ba3672(DomainsEdit.java:48)
at com.voicesurge.xmlservice.pages.admin.domains.DomainsEdit$Invocation_onSuccess_130e0338a1ba3671.proceedToAdvisedMethod(Unknown Source)
...
I've verified that I'm using Hibernate 3.6.10.Final. Any help would be appreciated!
SessionGenericDAOImpl.java:
public class SessionGenericDAOImpl<T, ID extends Serializable> extends GenericDAOImpl<T, ID> {
private Session session;
@Override
protected Session getSession() {
return session;
}
public SessionGenericDAOImpl(Session session) {
this.session = session;
setSessionFactory(session.getSessionFactory());
}
}
DomainDAOImpl.java:
public class DomainDAOImpl extends SessionGenericDAOImpl<Domain, UUID> implements DomainDAO {
public DomainDAOImpl(Session session) {
super(session);
}
}