Java [PersistenceUnit:<;name>;]:无法生成EntityManagerFactory

Java [PersistenceUnit:<;name>;]:无法生成EntityManagerFactory,java,hibernate,jpa,Java,Hibernate,Jpa,正如在主题中所述,我的问题是无法构建EntityManagerFactory。我正在使用Maven+Hibernate。我正在连接MySQL数据库( org.hibernate.ejb.HibernatePersistence 类的名称 =========================================================================== Feb 3, 2012 5:01:16 PM org.hibernate.annotations.commo

正如在主题中所述,我的问题是无法构建
EntityManagerFactory
。我正在使用Maven+Hibernate。我正在连接MySQL数据库(

org.hibernate.ejb.HibernatePersistence
类的名称
===========================================================================

Feb 3, 2012 5:01:16 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
Feb 3, 2012 5:01:16 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.0.1.Final}
Feb 3, 2012 5:01:16 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Feb 3, 2012 5:01:16 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Feb 3, 2012 5:01:16 PM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Feb 3, 2012 5:01:16 PM class <name>.<name>.<name> <name>
SEVERE: [ERROR]: [PersistenceUnit: <name>] Unable to build EntityManagerFactory
[ERROR]: [PersistenceUnit: <name>] Unable to build EntityManagerFactory
我做错了什么?或者我缺少什么?

如前所述,它正在进行调试,但当我将其打包到JAR中时(所有必要的JAR都存在于libs文件夹中),它不是。

持久性.xml文件应该放在jar根目录下的
META-INF
文件夹中。检查它是否存在。我猜这纯粹是一个与类路径相关的问题。

尝试重命名持久性单元。这很重要,因为该名称用于标识与之相关的持久性单元每个实体管理器

因此:


应替换为(例如):


classname


我怀疑您的实体没有命名为classname,因此请尝试指定完整的类路径名(例如foo.bar.realclassname,realclassname是实体类的名称)。

将其添加到xml文件中

<property name="javax.persistence.validation.mode">none</property>

我想你的控制台里还有更多的,对吧?可能是一个详细的堆栈跟踪?在给定的执行选项下面一定有更多的日志,请发布它们是的,它已经在META-INF文件夹中了。与清单文件一起,对BD密码做同样的操作。
这些只是虚拟单位…我没有发布实际的名称/值,但是它已经在persistence.xml中硬编码了您的数据库参数(又名用户、密码等),或者您是否使用了占位符?我的意思是:您确定使用了相同的参数吗?
<persistence-unit name="<name>">
<persistence-unit name="myUnit">
<property name="javax.persistence.validation.mode">none</property>