9
我有一个使用枚举的数据库表。这已经与hibernate(使用XML)一起工作了,我试图将它转换为注释,因为这是仍然使用xml表示法的最后一部分之一。带枚举的MySQL枚举
列定义:
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 for colum中错误的列类型n状态。发现:枚举,预期:varchar(255)
有什么办法让我强制接受一个字符串,因为它使用XML符号?
您的解决方案对于MySQL数据库至少是正确的,但对于测试中使用的H2数据库(例如自动模式创建)失败。看来这也不是100%可移植的,据我所知,PostgresSQL也存在问题(至少如果我们期望模式自动生成的话)。 – kornicameister 2015-08-04 07:30:57