为什么会有一个带有实体名称和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)>源文件夹-将文件夹的值设置为""。
相关文章