我在JPA实体中使用了一个枚举类型的字段:
@Enumerated(value=EnumType.STRING)
private Temperament temperament = Temperament.MINEUR_PUR;
我的枚举类型是在实体类中声明的:
@Entity
public class Joueur implements Serializable {
.....
public enum Temperament{
MINEUR_PUR(30),
MINEUR(10),
NEUTRE(0),
RAIDEUR(-10),
RAIDEUR_PUR(-30);
private int temperament_prod_mines;
private Temperament(int temperament_prod_mines){
this.temperament_prod_mines = temperament_prod_mines;
}
public int getTemperament_prod_mines() {
return temperament_prod_mines;
}
public void setTemperament_prod_mines(int temperament_prod_mines) {
this.temperament_prod_mines = temperament_prod_mines;
}
}
}
当我将枚举类型“externalize”到它自己的文件中时,它就不能正常工作:
由于异常 [EclipseLink-7151] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.ValidationException 异常描述:实体类 [class com.sim.entities.Joueur] 上属性 [temperament] 的类型 [class com.sim.basics.enums.Temperament] 不是可枚举映射的有效类型。该属性必须定义为Java枚举。
但这只是复制/粘贴...
为什么会出现这种情况?
谢谢