一尘不染

带有休眠的MySQL枚举

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)

我有什么办法强迫它像使用XML表示法一样接受字符串?


阅读 217

收藏
2020-06-20

共1个答案

一尘不染

我想到了。它应该是:

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