如何更改java.lang.Enum';使用JPA和Spring时,顺序是什么?
实体:如何更改java.lang.Enum';使用JPA和Spring时,顺序是什么?,java,spring,hibernate,jpa,enums,Java,Spring,Hibernate,Jpa,Enums,实体: @Entity @Table(name = "table_name") public class MyClass extends IdEntity { private MyEnumType enumType; @Enumerated(EnumType.ORDINAL) public MyEnumType getEnumType() { return enumType; } public void setEnumType(MyEnumType enumType)
@Entity
@Table(name = "table_name")
public class MyClass extends IdEntity {
private MyEnumType enumType;
@Enumerated(EnumType.ORDINAL)
public MyEnumType getEnumType() {
return enumType;
}
public void setEnumType(MyEnumType enumType) {
this.enumType= enumType;
}
}
public enum MyEnumType {
DOG(11),CAT(13),BULL(20);
private int value;
private MyEnumType (int value) {
this.value= value;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value= value;
}
}
//any code then ...
entity.setsEnumType(MyEnumType.CAT);
//...persist API
枚举:
@Entity
@Table(name = "table_name")
public class MyClass extends IdEntity {
private MyEnumType enumType;
@Enumerated(EnumType.ORDINAL)
public MyEnumType getEnumType() {
return enumType;
}
public void setEnumType(MyEnumType enumType) {
this.enumType= enumType;
}
}
public enum MyEnumType {
DOG(11),CAT(13),BULL(20);
private int value;
private MyEnumType (int value) {
this.value= value;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value= value;
}
}
//any code then ...
entity.setsEnumType(MyEnumType.CAT);
//...persist API
主代码:
@Entity
@Table(name = "table_name")
public class MyClass extends IdEntity {
private MyEnumType enumType;
@Enumerated(EnumType.ORDINAL)
public MyEnumType getEnumType() {
return enumType;
}
public void setEnumType(MyEnumType enumType) {
this.enumType= enumType;
}
}
public enum MyEnumType {
DOG(11),CAT(13),BULL(20);
private int value;
private MyEnumType (int value) {
this.value= value;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value= value;
}
}
//any code then ...
entity.setsEnumType(MyEnumType.CAT);
//...persist API
我想将cat的int值(13)保存在数据库中(例如mysql)。但在mysql中,enumType是(1),序数是多少。我想知道有没有办法通过JPA和spring来存储我的自定义值
有一种方法是这样的:
将“private MyEnumType enumType;”更改为“private**int**enumType;”
然后:
entity.setsEnumType(MyEnumType.CAT.getValue())代码>
但我不喜欢这样。JPA2.1允许以标准方式定义自定义类型。使用注释。请参阅以获取解释,javadoc是不够的
如果您仍然使用JPA2.0,那么Hibernate有一种专有的定义方法