类“部门”已映射,但不包含在任何持久性单元中

时间:2011-06-01 16:22:28

标签: java jpa eclipselink

我收到此错误并且我不知道原因:类“部门”已映射,但未包含在任何持久性单元中。

我有两个项目。 一个是在我的persistence.xml中,在标记之间,只有两行:

<persistence-unit name="UserJPA">
</persistence-unit>

我的课程是:

package br.com.jm.user;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;;

@Entity
@Table(name = "DEPARTMENT")
public class Department implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private Long id;
    private String name;

//getters and setters
}

我正在使用EclipseLink2.1.2。实际上我可以删除它,如果它使事情更容易。

拥抱, 德梅特里奥

4 个答案:

答案 0 :(得分:13)

对于在Eclipse或RAD中搜索“类xxxx已映射但未包含在任何持久性单元中”错误时发现此旧问题的任何人,对this问题和答案的评论具有以下解决方案:为我工作:

  1. 右键单击项目并选择属性。
  2. 选择JPA
  3. 选择单选按钮“自动发现带注释的类”
  4. 好的,等待项目完成建设。
  5. 这些步骤对我有用。

答案 1 :(得分:10)

您需要在persistence.xml文件中指定持久性单元中包含的类,如下所示:

<persistence-unit name="UserJPA">
    <class>br.com.jm.user.Department</class>
</persistence-unit>

答案 2 :(得分:4)

右键单击项目资源管理器中的 persistance.xml 文件

然后点击同步班级列表

它会自动生成您的类标记

enter image description here

答案 3 :(得分:2)

persistence.xml应该有:

<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>..</persistence-unit>
 </persistence>