a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 115|回复: 0

[其他] JAVA技巧:建立hibernate的条件查询

[复制链接]
发表于 2012-8-4 12:28:23 | 显示全部楼层 |阅读模式
首先定义一个条件查询实例,这里要有一个主表(mainTable)   DetachedCriteria deCriteria = DetachedCriteria.forClass(mainTable.class);
$ {) `3 {) }2 G  [3 }2 a  然后再给deCriteria加条件:
2 }6 M, ?& \/ r  1,用实例查询:1 N3 r* q1 j& p% B8 [* q
  deCriteria.createCriteria("mainTable");
/ V, y1 x% f  K* W3 T6 A( Y  2,用条件查询:
/ @3 T- R! g. y/ h- V$ x* c  deCriteria.add(Restrictions.eq("colName", colValue));. P. Z) M) D- p( U& U
  3,关联另一个表的实例:
% q1 M& t: s, @3 x  V  deCriteria.createCriteria("otherTable").add(- W7 u6 _3 m0 j6 @  u4 K# J
  Example.create(mainTable.getOtherTable()));# p! h% W5 A4 f) n  a$ @
  其中otherTable是mainTable的属性,对应要关联的表。
' f7 ?. F8 a9 [# ?! `  4,关联另一个表的条件:( M6 I$ O% E. m. _( G
  deCriteria.createCriteria("otherTable").add(Restrictions.eq("colName", colValue));/ X3 N8 X1 F- R% v1 v
  当然Restrictions还有很多方法,如like,between等。各种方式可以组合使用,用Example会忽略空字段,为组合多条件组合查询提供了方便。这里空串也会作为条件,和null是有区别的。7 K3 v4 I8 ~. ]$ H
  返回查询结果:
( z+ G: ^: e+ Y# x+ m8 L  List list = getHibernateTemplate().findByCriteria(deCriteria);
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 12:57 , Processed in 0.251635 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表