I am trying to modify a Seam 2.2.1.CR2 application.
Currently the DAO class creates and closes Connection() objects for each call. I would like Seam to handle the database connection/datasource/session, and either inject them, or allow the DAO to do getInstance() to retrieve them.
I have been looking at the reference guide, section 9.2.3, thinking I could just create HibernateSessionFactory and HibernateSession components, and retrieve a database connection from them (I am simply calling a stored procedure, I have no need for 99% of Hibernate's features, I just need access to a Connection).
I added hibernate3-3.2.0.jar and hibernate-annotations-3.1.3.jar, and
added this to my components.xml:
<persistence:hibernate-session-factory name="hibernateSessionFactory" cfg-resource-name="hibernate.cfg.xml"/>
When I deploy, I always get this error:
org.jboss.seam.InstantiationException: Could not instantiate Seam component: hibernateSessionFactory at org.jboss.seam.Component.newInstance(Component.java:2170) at org.jboss.seam.contexts.Contexts.startup(Contexts.java:304) at org.jboss.seam.contexts.Contexts.startup(Contexts.java:278) ... Caused by: java.lang.NoSuchMethodError: org.hibernate.cfg.AnnotationConfiguration.setProperty(Ljava/lang/String;Ljava/lang/String;)Lorg/hibernate/cfg/AnnotationConfiguration; at org.jboss.seam.persistence.HibernateSessionFactory.createSessionFactory(HibernateSessionFactory.java:114) at org.jboss.seam.persistence.HibernateSessionFactory.startup(HibernateSessionFactory.java:79) ... 151 more
I've never added hibernate to a project from scratch like this, apologies if I'm missing something obvious. Thanks in advance.