龙卷风驿站

初生牛犊

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  15 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

比较一个属性可以这样:
detachedCriteria.add(Restrictions.eq(XXX.PROP_ID,Integer.parseInt(id)));

如果比较的属性本身类型是对象,那么可以这样

detachedCriteria.add(Restrictions.eq(XXX.PROP_BM+".id",Integer.parseInt(bmid)));

以上面的语句为例,如果我比较其他属性
detachedCriteria.add(Restrictions.eq(XXX.PROP_BM+".bmmc",bmmc));

这样是不行的

解决方法:先定义一个别名
detachedCriteria.createAlias(XXX.PROP_BM, "bm");
然后可以这样使用了
detachedCriteria.add("bm.bmmc",bmmc));


ps:个人总结:不使用别名,本身是对象的属性后面只能跟其主键属性,比较其他属性要用别名。个人观点,还没有得到确认


posted on 2006-04-24 14:26 龙卷风驿站 阅读(1565) 评论(3)  编辑  收藏 所属分类: JAVA

Feedback

# re: 关于DetachedCriteria,今天的一小发现 2006-04-24 22:30 lizongbo
aaa属性和bbb属性的相等的查询:

ca.add(Expression.eqProperty("aaa","bbb"));

  回复  更多评论
  

# re: 关于DetachedCriteria,今天的一小发现 2006-04-25 10:09 龙卷风驿站
如果你aaa的类型是对象,就不好解决了吧  回复  更多评论
  

# re: 关于DetachedCriteria,今天的一小发现 2008-11-18 04:26 王泽林
谢谢,我觉得非常实用,而且,我已经在用了,呵呵。。。  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: