我在使用hibernate元模型生成器时遇到问题:
java: Error unmarshalling /META-INF/persistence.xml with exception :
javax.xml.bind.UnmarshalException
- with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 103; cvc-elt.1: Cannot find the declaration of element 'persistence'.]
这是我的persistence.xml:
<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://www.oracle.com/webfolder/technetwork/jsc/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="wespital" transaction-type="JTA">
<jta-data-source>jdbc/wespital</jta-data-source>
</persistence-unit>
</persistence>
似乎当前版本(1.2.Final)不支持JPA 2.1,我没有在git存储库中找到此生成器的任何beta版本。还有哪些其他选项可以生成元模型类?我使用wildfly作为app server。
答案 0 :(得分:1)
新版本(1.3.0.Final)已于2013年8月9日发布,可以解决您的问题。
答案 1 :(得分:1)
DataNucleus JPA元模型生成器生成适用于JPA 2.0 / 2.1的类,请参阅DataNucleus docs。
答案 2 :(得分:0)
我在eclipselink项目中使用了metamodel生成器,它似乎工作正常。
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa.modelgen.processor</artifactId>
<version>2.5.0</version>
<scope>provided</scope>
</dependency>