[英]“DataNucleus Enhancer completed with an error”
我正在尝试创建模型类以使用Eclipse将实体存储在Google App Engine
中。但是当我保存工作时,出现错误消息:
org.datanucleus.metadata.MetaDataManager initialiseFileMetaDataForUse。
严重:已使用对象标识类javax.jdo.identity.StringIdentity指定“ com.packagename.classname”类,但尚未将任何字段标识为主键字段。 请在应视为主键一部分的字段上注明“主键”标记。
如果我对JPA的理解是正确的,则因为我已经有@Id
标记,所以我不需要实体的primary-key
,这是我的课程。
@Entity
public class MyCLassName {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private static String userName;
private static String location;
private static Date dateOfBirth;
private static int age;
private static String gender;
private static String teamName;
private static int weight;
//Constructor with arguments
public MyClassName(String userName, String location, String gender, int age, Date DOB, int weight) {
MyClassName.userName = userName;
MyClassName.location = location;
MyClassName.gender = gender;
MyClassName.age=age;
MyClassName = DOB;
MyClassName.weight = weight;
}
//setter methods
public static void setUserName(String userName) {
MyClassName.userName = userName;
}
public static void setLocation(String location) {
MyClassName.location = location;
}
public static void setGender(String gender) {
MyClassName.gender = gender;
}
public static void setAge(int age) {
MyClassName.age = age;
}
public static void setDateOfBirth(Date dateOfBirth) {
MyClassName.dateOfBirth = dateOfBirth;
}
public static void setWeight(int weight) {
MyClassName.weight = weight;
}
//getter methods
public static String getUserName() {
return userName;
}
public static int getWeight() {
return weight;
}
public static String getLocation() {
return location;
}
public static String getGender() {
return gender;
}
public static String getTeamName() {
return teamName;
}
public static Date getDateOfBirth() {
return dateOfBirth;
}
public static int getAge() {
return age;
}
}
我到底在做什么错?
您对JPA的理解部分正确。 您不需要分配主键,因为您已经使用了@Id和@GeneratedValue批注。 JPA实现将自动将主键值生成为长整数。 但是,它仍然需要一个用于存储此ID值的字段。 它正在尝试在userName中执行此操作。 例如,请参阅Java教程ID生成类型:IDENTITY 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.