JPA( Hibernate 3.2) GlassFish Spring 2.5 application-context Код | <beans ...//опущу описание схем > <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" p:location="/WEB-INF/jdbc.properties" /> <context:component-scan base-package="ru.izhnet.owl" /> <tx:annotation-driven transaction-manager="txManager"/> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="OwlDispetcherHistoryPU"/> <property name="dataSource" ref="dataSource" /> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="databasePlatform" value="${hibernate.dialect}"/> </bean> </property> </bean> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </bean> <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" /> <bean id="txManager" class="org.springframework.transaction.jta.JtaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"/> <property name="dataSource" ref="dataSource"/> </bean>
|
Код | <persistence version="1.0" ....//опущу описание схем > <persistence-unit name="OwlDispetcherHistoryPU" transaction-type="JTA"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jta-data-source>Owl</jta-data-source> <class>ru.izhnet.owl.dao.model.OwlDispetcherHistory</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> <properties/> </persistence-unit> </persistence>
|
Код DAO-класса( он абстрактый, потом я от него буду наследовать свои DAO) Код | public abstract class GenericDAOHibernate<T, ID extends Serializable> implements GenericDAO<T, ID> { @PersistenceContext protected EntityManager entityManager;
@SuppressWarnings("unchecked") public GenericDAOHibernate() {
}
public Class<T> getPersistentClass() { return persistentClass; }
public T retrieve(ID id) { return entityManager.find(persistentClass, id); }
public void create(T entity) { entityManager.persist(entity); }
public void update(T entity) { entityManager.merge(entity); }
public void delete(T entity) { entityManager.remove(entity); } }
|
И на все это получаю вот такую ошибку Код | WebModule[/OwlDispetcherHistory]PWC1275: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'owlDispetcherHistoryDAOHibernate': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.config.internalTransactionAdvisor': Cannot create inner bean '(inner bean)' of type [org.springframework.transaction.interceptor.TransactionInterceptor] while setting bean property 'transactionInterceptor'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'txManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'txManager' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: org.hibernate.HibernateException: The chosen transaction strategy requires access to the JTA TransactionManager
....
|
Судя по логу проблема вот в чем: Код | The chosen transaction strategy requires access to the JTA TransactionManager
|
Погуглил, так и не понял что с ним делать. Добавлено через 12 минут и 49 секундСоответсвующий DataSource в GLassfish имеется( в разделе JDBC Resources). Приведу еще список jar-файлов в проекте - appbase.jar
- commons-fileupload-1.0.jar
- dataprovider.jar
- dojo-1.0.1.jar
- ejb3-persistence.jar
- errorhandler.jar
- hibernate-annotations.jar
- hibernate-commons-annotations.jar
- hibernate-entitymanager.jar
- hibernate-validator.jar
- hibernate3.jar
- javaee.jar
- javassist.jar
- jboss-archive-browsing.jar
- jsf-extensions-common-0.1.jar
- jsf-extensions-dynamic-faces-0.1.jar
- jsfcl.jar
- json-2.jar
- jta.jar
- prototype-1.5.0.jar
- spring-aop.jar
- spring-beans.jar
- spring-context-support.jar
- spring-context.jar
- spring-core.jar
- spring-jdbc.jar
- spring-jms.jar
- spring-orm.jar
- spring-sources.jar
- spring-test.jar
- spring-tx.jar
- spring-web.jar
- spring-webmvc-portlet.jar
- spring-webmvc-struts.jar
- spring-webmvc.jar
- spring.jar
- sqlx.jar
- webui-jsf-suntheme.jar
- webui-jsf.jar
Это сообщение отредактировал(а) brejnev - 23.4.2008, 09:34
|