关于Hibernate Boolean类型的问题

冰河谷908 2010-02-10 11:25:40
我现在在Hibernate映射中有一个字段是Boolean类型,我想写一个批量更新的方法更新这个字段,以前是true的变为false,是false的变为true,也就是取反,我的HQL应该怎么写?
我现在写的如下(有问题)

final String hql = "UPDATE User u SET u.locked = !(u.locked) WHERE u.id in (:ids)";

Query query = sin.createQuery(hql);
query.setParameterList("ids", ids);
query.executeUpdate();

有哪位兄弟知道的请指定,谢谢!!
...全文
442 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnxxhc 2010-02-20
  • 打赏
  • 举报
回复
if(query.executeUpdate()>0){
flag=true;/false
}
yhef 2010-02-11
  • 打赏
  • 举报
回复
如6#说的,你在代码里拼sql的时候做改变不是很好吗?

尽量让sql简单。
冰河谷908 2010-02-10
  • 打赏
  • 举报
回复
等待中…… 自己顶一下
冰河谷908 2010-02-10
  • 打赏
  • 举报
回复
我不是想知道执行是否成功,是想对那个字段取反然后更新到数据库中。
yueguangkai001 2010-02-10
  • 打赏
  • 举报
回复
if(query.executeUpdate()>0){
flag=true;/false
}
leavin521 2010-02-10
  • 打赏
  • 举报
回复
u.setLocked(u.getLocked==true?false:true);
final String hql = "UPDATE User u SET u.locked = u.locked WHERE u.id in (:ids)";
Z_FEI 2010-02-10
  • 打赏
  • 举报
回复
那就先查一下,然后再判断整理update,不就可以了
d_star 2010-02-10
  • 打赏
  • 举报
回复
不太清楚,帮你顶起来

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧