2017-08-26 56 views
1

我正在嘗試使用EclipseLink學習Spring JPA。我運行的是獨立的Spring webApplication,它只顯示一些JSP頁面。如何在Jboss v6上使用Spring + EclipseLink jpa運行Web應用程序

在另一個eclipse項目中,我有一個簡單的eclipseLink JPA例子。 但是當我試圖將Spring WebApp與eclipselink代碼集成時,它無法啓動,因爲jboss試圖加載hibernate而不是eclipseLink。

下面是錯誤 - 我想,我錯過了在Jboss 6上使用Spring + EclipseLink部署簡單WebApp的一些基本步驟。這純粹是爲了學習的目的。我搜索了一下,但沒有足夠的例子來說明這個組合。

11:17:31272 INFO [org.hibernate.ejb.Ejb3Configuration] (Server服務線程池 - 50)HHH000204:處理 PersistenceUnitInfo [名:Eclipselink_JPA ...] 11:17:31384 WARN HHH000181:假設應用程序將提供 連接11:17:31,405 ERROR [org.jboss .msc.service.fail] (ServerService線程池 - 50)MSC000001:無法啓動服務 jboss.persistenceunit。「HelloWeb.war#Eclipselin k_JPA 「: org.jboss.msc.service.StartException服務 jboss.persistenceunit。」 HelloWeb.war#Eclipselink_JPA「: javax.persistence.PersistenceException:[PersistenceUnit: Eclipselink_JPA]無法在 org.jboss打造的EntityManagerFactory .as.jpa.service.PersistenceUnitServiceImpl $ 1.run(PersistenceUnitServiceImpl.java:103) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.8.0_102] at java.util.concurrent .ThreadPoolExecutor $ Worker.run(Unknown Source) [java.lang.Thread.run(Unknown Source) [rt.jar:1.8.0_102] at org.jboss.threads。 JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.2.Final-redhat-1.jar:2.1.2.Final-redhat-1]引起 作者:javax.persistence.PersistenceException:[PersistenceUnit: Eclipselink_JPA]無法構建EntityManagerFactory org .hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:925) 在 org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:900) 在 org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java :76) 在 org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:200) 在 org.jboss.as.jpa.service.Persist org.hibernate.HibernateException:enceUnitServiceImpl.access $ 600(PersistenceUnitServiceImpl.java:57) 在 org.jboss.as.jpa.service.PersistenceUnitServiceImpl $ 1.run(PersistenceUnitServiceImpl.java:99) ... 4個產生的原因:在 org.hibernate.service.jdbc.dialect 'hibernate.dialect' 未設置在 org.hibernate.service.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:98) 當連接 不能爲空。 internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:68) 在 org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:174) 在 org.hibernate作爲。service.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:85) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:184) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService( AbstractServiceRegistryImpl.java:156) 在 org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1827) 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1785) 在 org.hibernate作爲.ejb.EntityManagerFactoryImpl。(EntityManagerFactoryImpl.java:96) at org.hibernate.ejb.Ejb3Configuration .buildEntityManagerFactory(Ejb3Configuration.java:915) ... 9更

11:17:31415 ERROR [org.jboss.as.controller.management運算] (Controller引導螺紋)JBAS014612:操作(「部署「)失敗 - address:([(」deployment「=>」HelloWeb.war「))) - failure description: {」JBAS014671:Failed services「=> {」jboss.persistenceunit。\「HelloWeb.war# 。Eclipselink_JPA \ 「」=> 「org.jboss.msc.service.StartException在服務 jboss.persistenceunit \」 HelloWeb.war#Eclipselink_JPA \「: javax.persistence.PersistenceException:[PersistenceUnit: Eclipselink_JPA]無法建立EntityManagerFactory 所致:javax.persistence.PersistenceException:[PersistenceUnit:Eclipselink_JPA]無法建立 的EntityManagerFactory 引起:org.hibernate.HibernateException:當 'hibernate.dialect' 未設置連接不能爲空「}}

回答

0

您提到Spring + EclipseLink作爲JPA供應商,但日誌顯示Hibernate例外。你在「混合」EclipseLinkHibernate。您還可以發佈您的JPA相關屬性和Spring bean配置嗎?

+0

我認爲Jboss + spring正試圖加載Hibernate。爲了強制我的webApp加載eclipseLink,我有一個java類,用「@Configuration @EnableTransactionManagement @EnableJpaRepositories」和返回「getEclipseLinkJpaVendorAdapter」的方法強制webApp使用eclipselink。但不知何故它使用休眠。 – AbhijitG

0

我得到這個加在persistence.xml中的下列財產解析 - 當我部署我在JBoss Web應用程序 org.eclipse.persistence.jpa.PersistenceProvider現在

,它使用的EclipseLink JPA加載EntityManagerFactory的,而不是的默認Hibernate。

相關問題