package org.shamalamading.dong; public class OneZeroType extends org.hibernate.type.CharBooleanType { protected final java.lang.String getTrueString() { return "1"; } protected final java.lang.String getFalseString() { return "0"; } public java.lang.String getName() { return "OneZeroType"; } }
package org.shamalamading.dong; @Entity @Table(name = "REPORT_TBL") public class Report implements Serializable { @Column(name = "ACTIVE_FLAG", columnDefinition="char(1)") @Type(type="org.shamalamading.dong.OneZeroType") private Boolean active; public Boolean getActive() { return this.active; } public void setActive(Boolean newValue) { this.active = newValue; } }
现在,当持久化到数据库并设置值时,Hibernate将设置“1”为true ,“0”为false。这将更好的让Derby和DB2在一起工作,因为不同的本地驱动处理布尔值不同。另外一个,我觉得有趣的是DB2(或数据库)方面,似乎普遍认同“0”或0代表“false”,但在编程方面,通常认为0来代表“true”,而“其它”表示“false”。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务