OpenJPA找不到实体

时间:2018-03-20 16:33:01

标签: java jpa entity openjpa persistence.xml

我目前正在我的一个项目中使用OpenJPA,但又遇到了另一个问题。 我在persistence.xml中定义了一些实体,但OpenJPA似乎找不到它们。 在运行我的项目时,我在persistence.xml中注册的每个实体都收到了此警告:

  

WARN [http-nio-8080-exec-3] openjpa.MetaData - 该类   “Entitiy.Employee”中列出了   无法加载openjpa.MetaDataFactory配置属性   ParallelWebappClassLoader`

而且我得到了这个错误:

  

  org.apache.openjpa.persistence.ArgumentException:发生错误   在解析查询过滤器“SELECT e FROM Employee e”时。错误   message:名称“Employee”不是公认的实体或标识符。   已知实体名称:[]

对我来说,似乎没有在我的persistence.xml中声明的单个实体。

这是我的persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
             http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
    <persistence-unit name="PesUnit">
        <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
        <class>Entitiy.Employee</class>
        ... all other classes listed the same way...
        <properties>
            <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
            <property name="openjpa.jdbc.SchemaFactory" value="native(ForeignKeys=true)"/>
            <property name="openjpa.jdbc.MappingDefaults" value="ForeignKeyDeleteAction=restrict, JoinForeignKeyDeleteAction=restrict"/>
            <property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost:3306/somescheme"/>
            <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
            <property name="openjpa.ConnectionUserName" value="user"/>
            <property name="openjpa.ConnectionPassword" value="pass"/>
            <property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE"/>
        </properties>
    </persistence-unit>
</persistence>

有人能帮助我吗?

0 个答案:

没有答案