2016-07-29 157 views
0

我正在使用Wildfly 8.2.1,我嘗試將我的EAR項目部署到Wildfly無法在Wildfly上部署EAR項目

一切工作正常,但由於我已更改數據庫架構並通過JPA工具生成新實體類,所以出現錯誤。

這是我persistence.xml(我改變什麼都沒有):

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd"> 
    <persistence-unit name="PrototypeShitstormRecEJB"> 
     <jta-data-source>java:jboss/datasources/ShitstormDS</jta-data-source> 
     <properties> 
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> 
      <property name="hibernate.hbm2ddl.auto" value="create"/> 
      <property name="hibernate.show_sql" value="true"/> 
     </properties> 
    </persistence-unit> 
</persistence> 

這裏的console日誌上部署: ...

20:33:54,047 INFO [org.hibernate.dialect.Dialect] (ServerService Thread Pool -- 63) HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect 
20:33:54,359 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 63) MSC000001: Failed to start service jboss.persistenceunit."PrototypeShitstormRec.ear/PrototypeShitstormRecEJB.jar#PrototypeShitstormRecEJB": org.jboss.msc.service.StartException in service jboss.persistenceunit."PrototypeShitstormRec.ear/PrototypeShitstormRecEJB.jar#PrototypeShitstormRecEJB": javax.persistence.PersistenceException: [PersistenceUnit: PrototypeShitstormRecEJB] Unable to build Hibernate SessionFactory 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:172) [wildfly-jpa-8.2.1.Final.jar:8.2.1.Final] 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:117) [wildfly-jpa-8.2.1.Final.jar:8.2.1.Final] 
    at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_73] 
    at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:474) 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:182) [wildfly-jpa-8.2.1.Final.jar:8.2.1.Final] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_73] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_73] 
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_73] 
    at org.jboss.threads.JBossThread.run(JBossThread.java:122) 
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: PrototypeShitstormRecEJB] Unable to build Hibernate SessionFactory 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1239) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.access$600(EntityManagerFactoryBuilderImpl.java:120) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:855) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:845) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:398) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:844) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.jboss.as.jpa.hibernate4.TwoPhaseBootstrapImpl.build(TwoPhaseBootstrapImpl.java:44) [jipijapa-hibernate4-3-1.0.1.Final.jar:] 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:154) [wildfly-jpa-8.2.1.Final.jar:8.2.1.Final] 
    ... 8 more 
Caused by: org.hibernate.DuplicateMappingException: Duplicate query mapping GETALL 
    at org.hibernate.cfg.Configuration$MappingsImpl.checkQueryName(Configuration.java:2996) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.cfg.Configuration$MappingsImpl.applyQuery(Configuration.java:2990) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.cfg.Configuration$MappingsImpl.addQuery(Configuration.java:2985) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.cfg.annotations.QueryBinder.bindQuery(QueryBinder.java:90) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.cfg.AnnotationBinder.bindQueries(AnnotationBinder.java:364) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:618) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3845) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.cfg.Configuration$MetadataSourceQueue.processMetadata(Configuration.java:3799) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1412) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1846) [hibernate-core-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:852) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    ... 13 more 

非常感謝您的幫助:)

+0

檢查此帖,它與您的問題有關:http://stackoverflow.com/questions/4852610/what-does-org-hibernate-duplicatemappingexception-error-mean – MWiesner

回答

1

非常感謝。在錯誤日誌中,它對我來說有點隱藏:

Duplicate query mapping GETALL 

我有兩個名爲「GETALL」的NamedQueries。