0

好吧,当我使用枚举类型并将所有类型值插入数据库时​​,所有类型值都从 0 而不是 1 开始。任何简单的修复 +1 都不是好的解决方案。

枚举类

public enum ServiceRequestType {
    REGISTERED(1), REJECTED(2), DONE(3);

    int value;
    ServiceRequestType(int value) {
        this.value = value;
    }
}

还有休眠映射。

    <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>
4

3 回答 3

1

您可以使用 java5 枚举类型。检查链接以获得完美的休眠枚举示例。如果您有问题,请告诉我。

于 2012-05-16T08:24:46.933 回答
0

我相信正确的语法是

public enum ServiceRequestType
{
    REGISTERED = 1, REJECTED, DONE
}

如果你想从 int 中获取枚举,你可以这样做Enum.ToObject(typeof(ServiceRequestType), 1)

于 2012-05-16T08:12:49.347 回答
-1

好吧,对于这个简单的问题,我没有找到任何简单的解决方案,但这是一个

public enum ServiceRequestType {
    REGISTERED, REJECTED, DONE;

    public int getIndex() {
        return ordinal() + 1;
    }
}

调用时使用 .getIndex 方法

ServiceRequestType.REGISTERED.getIndex()
于 2012-05-16T19:45:47.890 回答