jpa hibernate 不能映射 boolean

japhibenatemysql映射boolean时mysql中数据类型为BIT.默认出现是的值为b.而且改不了。这是怎么回事。@Column(name="manager... jap hibenate mysql 映射boolean时mysql中数据类型为BIT.
默认出现是的值为b.而且改不了。这是怎么回事。

@Column(name="manager_log")
private boolean manageLog; // 能否管理系统日志
JAVA中定义boolean类型是不是本身就有默认值的?
你说的HBM应该怎么改呢?
展开
 我来答
殳秋白0Hz
2010-05-04 · TA获得超过357个赞
知道答主
回答量:9
采纳率:0%
帮助的人:15.7万
展开全部
1.JPA本身是不支持boolean。可以用Hibernater自带的标签.修改如下.

@Column(name = "manager_log")
@org.hibernate.annotations.Type(type="yes_no")
private boolean manageLog = false; // 能否管理系统日志

2.当然你也可以不用Hibernater的标签,但要改写setter,getter方法

给你一个例子:
@Entity
public class User {
@Id
private Integer id;

@Basic
private Character enabled;

public Boolean getEnabled() {
if (enabled == null) return null;
return enabled == 'Y' ? Boolean.TRUE : Boolean.FALSE;
}

public void setEnabled(Boolean enabled) {
if (enabled == null) {
this.enabled = null;
} else {
this.enabled = enabled == true ? 'Y' : 'N';
}
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sandfish520
2010-05-04 · 超过10用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:23.4万
展开全部
检查一下有没有default之类的东西,默认值,如果实再不行,你手动适当更改一下HBM中的类型也是可以的。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式