Hibernate 在websphere 9中的CDI服务中找不到当前的bean管理器
我正在从WAS 8迁移到WAS 9。 我的应用程序使用Hibernate4.3.0.Beta3版本和Spring4.0.3。 在应用程序启动时,我遇到以下错误:Hibernate 在websphere 9中的CDI服务中找不到当前的bean管理器,hibernate,jpa-2.1,websphere-9,Hibernate,Jpa 2.1,Websphere 9,我正在从WAS 8迁移到WAS 9。 我的应用程序使用Hibernate4.3.0.Beta3版本和Spring4.0.3。 在应用程序启动时,我遇到以下错误: An error occurred in the org.hibernate.jpa.HibernatePersistenceProvider persistence provider when it attempted to create the container entity manager factory for
An error occurred in the org.hibernate.jpa.HibernatePersistenceProvider persistence
provider when it attempted to create the container entity manager factory for
the AccidentCompensation persistence unit. The following error occurred:
java.lang.IllegalStateException: java.lang.UnsupportedOperationException:
No current bean manager found in CDI service
at com.ibm.ws.jpa.cdi.impl.BeanManagerInvocationHandler.invoke(BeanManagerInvocationHandler.java:80)
如果需要更多信息,请告诉我。我解决了我的问题,编写了一个自定义会话生成器,并禁用了工厂实例的beanreference
package br.com.temasistemas.utils.hibernate;
import org.hibernate.boot.SessionFactoryBuilder;
import org.hibernate.boot.spi.MetadataImplementor;
import org.hibernate.boot.spi.SessionFactoryBuilderFactory;
import org.hibernate.boot.spi.SessionFactoryBuilderImplementor;
public class CustomSessionFactoryBuilderFactory implements SessionFactoryBuilderFactory {
@Override
public SessionFactoryBuilder getSessionFactoryBuilder(final MetadataImplementor metadata,
final SessionFactoryBuilderImplementor defaultBuilder) {
return defaultBuilder.applyBeanManager(null);
}
}
create a service file in
META-INF/services/org.hibernate.boot.spi.SessionFactoryBuilderFactory
content
br.com.temasistemas.utils.hibernate.CustomSessionFactoryBuilderFactory
谢谢你的回复。但是如何从工厂实例禁用beanreference。我使用persistence.xml文件进行配置。