搜索多一点点后,我可以在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;
现在,它的工作原理就像一个魅力。