我正在尝试在 Jboss 7.0.2 上部署我的 JBpm 应用程序。
我已经为 jbpm 和我的业务实体定义了一个持久性单元。我用 Spring 3.1.3 配置了事务管理器。
在 Tomcat 7.0 上一切正常,但是当我在 Jboss 7.0.2 上部署时,我得到一个 javax.persistence.PersistenceException。
为了修复该错误,我在持久性单元中添加了以下元素:
<mapping-file>META-INF/ProcessInstanceInfo.hbm.xml</mapping-file>
但后来我得到另一个关于我的业务实体的异常:
[...]
Caused by: java.lang.IllegalArgumentException: Not an managed type: class eu.publications.ceres.persistence.domain.Registration
[...]
你知道为什么在tomcat上一切正常而在JBoss上不行吗?JBoss在幕后是什么?
谢谢
持久性.xml:
<persistence-unit name="ceres2013.persistence.unit">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<mapping-file>META-INF/JBPMorm.xml</mapping-file>
<class>org.drools.persistence.info.SessionInfo</class>
<class>org.drools.persistence.info.WorkItemInfo</class>
<class>org.jbpm.process.audit.ProcessInstanceLog</class>
<class>org.jbpm.process.audit.NodeInstanceLog</class>
<class>org.jbpm.process.audit.VariableInstanceLog</class>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" />
<property name="hibernate.show_sql" value="false" />
<property name="hibernate.max_fetch_depth" value="4" />
<property name="hibernate.hbm2ddl.auto" value="validate" />
</properties>
</persistence-unit>
应用程序上下文.xml:
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="persistenceUnitName" value="ceres2013.persistence.unit" />
</bean>
堆栈跟踪:
[...]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: ceres2013.persistence.unit] Unable to build EntityManagerFactory
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:900) [hibernate-entitymanager-3.5.4-Final.jar:]
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:74) [hibernate-entitymanager-3.5.4-Final.jar:]
[...]
Caused by: org.hibernate.HibernateException: Errors in named queries: ProcessInstancesWaitingForEvent
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:437) [hibernate-core-3.5.4-Final.jar:]