我有一个表,并希望使用枚举保存状态。我创建了一个枚举作为Java自定义枚举
/**
* Enumeration for Status
*
*
* Current defined values are :
* <ul>
* <li>ACTIVE = 1</li>
* <li>INACTIVE = 2</li>
* </ul>
*/
public enum Status {
/**
* ACTIVE (Ordinal 1).
*/
ACTIVE(1),
/**
* INACTIVE (Ordinal 2).
*/
INACTIVE(2),
private int value;
private Status(int value) {
this.value = value;
}
public static void main (String ars[]){
for (Status str : Status.values()) {
System.out.println("====str==========="+str.name() +"::::::: "+str.ordinal());
}
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
如何我得到的序号值从1我的输出是这样的
====str===========ACTIVE::::::: 0
====str===========INACTIVE::::::: 1
其实我已经映射此枚举到我的实体,我已经用它,如下低于
@Column(name = "STATUS",nullable=false)
@Enumerated(EnumType.ORDINAL)
private Status status;
如何将活动状态保存为1 ...?
**的'enum'不应该是可变的。**你不应该有一个'setXXX'方法上的' enum'和'enum'应该**从不**具有非'final'变量。有一个可变的'enum'违反了'enum'提供的许多保证。 –