xml方式,直接写就行,hibernate会直接帮你生成:

javaBean代码片段:

private boolean leaf;
public boolean isLeaf() {
return leaf;
}
public void setLeaf(boolean leaf) {
this.leaf = leaf;
}

hbm.xml配置直接写就行:

<property name="leaf"></property>

测试里代码:

//s.setLeaf(true);
s.setLeaf(false);

数据库结果:true会存入1,false存入0。

hibernate_boolean类型的处理-LMLPHP

Annotation方式:

定义boolean类型属性为:private  boolean   isLeave;

JavaBean代码片段:

boolean类型自动的get、set为:

private boolean isLeave;
public boolean isLeave() {
return isLeave;
} public void setLeave(boolean isLeave) {
this.isLeave = isLeave;
}

这样hibernate是不认识的,hibernate里,属性名必须和set、get方法名一致,所以需要修改方法名:

    private boolean isLeave;

    /**
* 如果不写@Type(type="yes_no")默认存入true 1 false 0
* @return
*/
//修改自动生成的get方法isLeave()为getIsLeave
@Type(type="yes_no")
public boolean getIsLeave() {
return isLeave;
}
//把自动生成的set方法:setLeave改为:setIsLeave
public void setIsLeave(boolean isLeave) {
this.isLeave = isLeave;
}

测试代码片段:

//t.setIsLeave(false);
t.setIsLeave(true);

数据库结果:0、1是默认时的结果,Y、N是@Type(type="yes_no")的结果:

hibernate_boolean类型的处理-LMLPHP

Ok。

05-27 13:16