0

私はグラスフィッシュのオラクルのを扱っていますが、グラスフィッシュV3の代わりにJboss AS7を使用する方法がわかりません。私が取得し続けるエラーは

16:08:09,597 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-12) MSC00001: Failed to start service jboss.persistenceunit."javaee-nosql.war#javaee-nosql": org.jboss.msc.service.StartException in service jboss.persistenceunit."javaee-nosql.war#javaee-nosql": Failed to start service
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_31]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_31]
    at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_31]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: javaee-nosql] Unable to build EntityManagerFactory
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889)
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:162)
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.start(PersistenceUnitServiceImpl.java:85)
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
    ... 3 more
Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: model.Order column: city (should be mapped with insert="false" update="false")
    at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:680)
    at org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:702)
    at org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:698)
    at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:724)
    at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:477)
    at org.hibernate.mapping.RootClass.validate(RootClass.java:268)
    at org.hibernate.cfg.Configuration.validate(Configuration.java:1287)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1729)
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)

私が取り組んでいるオラクルプロジェクトはこちら

望ましい目標/結果:

glassfishv3 から Jboss AS7 に変更するだけです

4

2 に答える 2

2

デプロイしようとするアプリケーションは EclipseLink 固有のものであり、EclipseLink に実装されている機能を使用していますが、Hibernate には実装されていません。質問のログ ファイルを見ると、現在 Hibernate を使用していることがわかります。それが機能しない理由です。

GlasshFish で機能した理由は、デフォルトの JPA プロバイダーが EclipseLink であるためです。JBoss AS 7 には Hibernate が同梱されています。

pom.xml ファイルからわかるように、EclipseLink の依存関係はスコープを提供していますが、JBoss では当然提供されていません。

Hibernate を EclipseLink に置き換える手順については、こちらを参照してください。しかし、いくつかの問題が発生する可能性があります。

于 2012-07-11T20:41:26.767 に答える
2

Arun のブログのアプリケーションは、EclipseLink を JPA プロバイダーとして使用するだけでなく、いくつかの EclipseLink 独自の機能 (MongoDB マッピング) も使用します。したがって、これを Hibernate に置き換えることができたとしても、言及された機能が失われることになります。HibernateOGM を試してみて、必要な機能を Hibernate OGM パーツに置き換える必要があります ... ここを参照してください: http://www.hibernate.org/subprojects/ogm.html

于 2012-07-12T06:16:30.833 に答える