2012-07-31 79 views

回答

5

搜索多一点点后,我可以在http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/types.html#types-value-basic

发现这种休眠类型org.hibernate.type.NumericBooleanType而且我想通过这种方式来映射:

@Type(type = "org.hibernate.type.NumericBooleanType") 
private Boolean field; 

但是,这并不工作,因为Hibernate扔这个异常:

org.hibernate.HibernateException: Wrong column type in %TABLE_NAME% for column %COLUMN_NAME%. Found: smallint, expected: integer 

所以,我试图强迫此列的定义,映射以这种方式:

@Column(columnDefinition = "SMALLINT") 
@Type(type = "org.hibernate.type.NumericBooleanType") 
private Boolean field; 

现在,它的工作原理就像一个魅力。

相关问题