搜索多一點點後,我可以在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;
現在,它的工作原理就像一個魅力。