当我使用枚举类型并插入数据库时,所有类型值都从0开始,而不是1.任何简单的修复+1都不是很好的解决方案。
Enum类
public enum ServiceRequestType {
REGISTERED(1), REJECTED(2), DONE(3);
int value;
ServiceRequestType(int value) {
this.value = value;
}
}
也是hibernate映射。
<property name="type" column="service_request_status_type_fk">
<type name="org.hibernate.type.EnumType">
<param name="enumClass">ee.ttu.support.model.domain.service.ServiceRequestType</param>
</type>
</property>
答案 0 :(得分:1)
您可以使用java5枚举类型。使用hibernate检查this链接以获得完美的枚举示例。如果您有问题,请告诉我。
答案 1 :(得分:0)
我相信正确的语法是
public enum ServiceRequestType
{
REGISTERED = 1, REJECTED, DONE
}
如果你想从int获取枚举,你可以Enum.ToObject(typeof(ServiceRequestType), 1)
答案 2 :(得分:-1)
我没有找到任何简单的解决方案来解决这个简单的问题,但这里有一个
public enum ServiceRequestType {
REGISTERED, REJECTED, DONE;
public int getIndex() {
return ordinal() + 1;
}
}
调出时使用.getIndex方法
ServiceRequestType.REGISTERED.getIndex()