为什么会有一个带有实体名称和JPA实体类下划线的类

2022-06-06 00:00:00 database-schema java Hibernate jpa

我是JPA新手,我已经创建了一个类,如下所示

/**
 * 
 */
package programme;

import javax.persistence.Access;
import javax.persistence.AccessType;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

/**
 * @author anoop
 *
 */
@Entity
@Table(name="course")
@Access(AccessType.FIELD)
public class programme {
    @Id private int id;
    private String name;
    private int year;
    @Transient private String comments;

    //getters and setters for the fields.
}

我注意到还有一个名为我的实体Java类Programme.java的类,带有下划线,即Program_.java。这个类是什么?为什么会生成这个类。我有什么方法可以阻止它的生成吗?

Program_.Java类的代码如下所示。

package programme;

import javax.annotation.Generated;
import javax.persistence.metamodel.SingularAttribute;
import javax.persistence.metamodel.StaticMetamodel;

@Generated(value="Dali", date="2014-04-27T21:32:59.433+0530")
@StaticMetamodel(programme.class)
public class programme_ {
    public static volatile SingularAttribute<programme, Integer> id;
    public static volatile SingularAttribute<programme, String> name;
    public static volatile SingularAttribute<programme, Integer> year;
    public static volatile SingularAttribute<programme, String> comments;
}

解决方案

这是您的"规范元模型"。它可以与JPA Criteria API一起使用,如JPA 2.x规范(第6.2节)所述。

要阻止Eclipse生成这些类,请执行以下操作:编辑您的Eclipse项目属性>JPA>规范元模型(JPA 2.0)>源文件夹-将文件夹的值设置为""。

相关文章