关于数据库中的boolean字段,在sqlmap中的映射问题

最近遇到一个问题非常有意思。大概是我在数据库的某张表里面建了一个boolean字段,比如名称叫做:is_hot 那么在sqlmap的result里面,情况可能会是这样:

<result property="isHot" column="IS_HOT" javaType="BOOLEAN" jdbcType="BIT"/>


我习惯了hibernate的方式,对应的类里面有这么一个属性:

private boolean isHot;
public void setHot(boolean isHot) { this.isHot = isHot; }
public boolean isHot() { return this.isHot; }


结果发现异常: There is no WRITEABLE property named...

仔细研究了一下ibatis的官方文档,发现其中有句话: 基本数据类型如int,boolean和float不能直接使用。因为iBATIS是面向对象的解决方案。因此所有的参数和结果必须是对象。

将java代码改为:

private Boolean isHot;
public void setIsHot(Boolean isHot) { this.isHot = isHot; }
public Boolean getIsHot() { return this.isHot; }


问题解决。

你可能感兴趣的:(Hibernate,ibatis,idea)