为什么Hibernate + Derby将Enum映射到byte []?

时间:2018-06-14 13:49:56

标签: hibernate enums derby jpa-2.1

我正在使用Glassfish 4.1。,JPA 2.1,Hibernate 5.x,Derby 10.x. 我有一个带Enum列的实体:

$triages = Triyage::latest('updated_at')->groupBy('card_id')->paginate(8);

return view('Admin.Opd.card_opd', compact('triages'));

Hibernate创建类型为“VARCHAR(255)FOR BIT DATA”的NICE列(无论它是什么)。

我认为这很难看,无论如何这不是问题。真正的问题是Hibernate能够写入这样的列,但无法读取保存的数据:

public enum Boolean3 {
    TRUE, FALSE, MAYBE
}

@Entity
@Table(name = "FOO")
@XmlRootElement
public class Foo {

    Boolean3 nice;

    @Column(name = "NICE")
    @Enumerated(EnumType.STRING)
    public Boolean3 getNice() {
        return nice;
    }
    (...)

}

那么,我应该如何使用Hibernate和Derby处理Enums?谢谢。

0 个答案:

没有答案