首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate:用破折号映射枚举

Hibernate:用破折号映射枚举
EN

Stack Overflow用户
提问于 2013-07-23 14:32:02
回答 2查看 1.6K关注 0票数 0

我在数据库中有一个列,其中包含5个可能的值。我想把这个列映射成一个枚举字段。问题是这些值中有些包含破折号。我试过这样的方法:

代码语言:javascript
复制
public enum Status {
    S1("S1"), S2("S2"), S3("S-3"), S4("S-4"), S5("S5");

    private final String text;

    Status(String text) {
        this.text = text;
    }

    @Override
    public String toString() {
        return this.text;
    }

但不起作用。如果数据库中的行包含带有破折号的值,则会得到一个错误:

代码语言:javascript
复制
Unknown name value [S-3] for enum class [test.package.Status]

有没有办法将包含破折号的值映射到枚举中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-23 14:46:00

toString()不工作,因为枚举的计算是基于public final String name()的。既然这是最后的,你就不能推翻它。

你将不得不使用另一种类型。In this answer you will get the required info.

票数 0
EN

Stack Overflow用户

发布于 2013-07-23 14:40:23

你在你的模型里试过这个吗?

@枚举(EnumType.STRING)状态

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17813182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档