带有hibernate的MySQL枚举

时间:2009-07-02 20:46:03

标签: java hibernate

我有一个使用枚举的数据库表。这已经在使用hibernate(使用XML),我正在尝试将其转换为注释,因为这是仍然使用xml表示法的最后一个部分。

列定义:

enum('Active','Pending','Cancelled','Suspend')

以下作品:

<property
    name="status"
    column="STATUS"
    type="string"
    not-null="true" />

这不起作用:

@Column(name = "status")
public String status;

注释样式在启动时会导致以下异常: org.hibernate.HibernateException:UserDTO中列状态的列类型错误。找到:枚举,预期:varchar(255)

有没有办法让我强制接受String,就像使用XML表示法一样?

1 个答案:

答案 0 :(得分:19)

我明白了。它应该是:

@Column(name="status", columnDefinition="enum('Active','Pending','Cancelled','Suspend')")
public String status;