您的位置:首页 > 其它

项目中关于检索的注意事项

2014-09-18 00:16 246 查看
可以用criteria来做查询,比如要查询某个列表。

先说criteria的几个基本用法,举例

course与property两个对象是一对多,前一后多。

现在需要找寻property中id为2的所有course。

criteria.createAlias("properties","properties")

.add(Restrictions.eq("properties.id",currentPropertyId));

createAlias的用法。

现在查询course中name为某个的时候:

if(!Strings.isNullOrEmpty(name))criteria.add(Restrictions.like("name",name,MatchMode.ANYWHERE));

注意,需要对name进行判断是否为empty或为null。

然后就是MachMode的模糊查询用法。

再对列表进行倒序排序:criteria.addOrder(Order.desc("id"));

这是几个常用的用法。

接着说:用这个的好处就在于好添加条件。

比如现在说了name又说了property,等下又有一个,搞不好要修改service层,dao层的代码。

如果用criteria,就可直接在controller层直接添加。

这样,我们就可以很好的将列表和检索的用一个方法来做就行了。

以前我用错了,是这么回事,总列表,我用一个方法,而条件查询,我又用了一个方法。

这样,两个方法其实是重复了的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: