我有一个使用枚举的数据库表。这已经在使用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表示法一样?
答案 0 :(得分:19)
我明白了。它应该是:
@Column(name="status", columnDefinition="enum('Active','Pending','Cancelled','Suspend')")
public String status;