Criteria 和 DetachedCriteria 的区别

示例代码如下:

        // 从本地线程中获得session对象
        Session session = this.getSession();
        // 创建条件查询对象,注意:该对象必须通过session才能创建
        Criteria criteria = session.createCriteria(User.class);
        // 使用条件查询对象,封装查询条件
        criteria.add(Restrictions.eq("id", 100));
        
        // 实际开发中,查询条件往往封装在action中,而在action中我们拿不到session对象,那么我们就创建不了条件查询对象了。怎么办呢?
        // 所以为了解决这个问题,我们使用离线条件查询对象,该对象的创建不需要session对象
        DetachedCriteria detachedCriteria = DetachedCriteria.forClass(User.class);
        // 使用离线条件查询对象,封装查询条件
        detachedCriteria.add(Restrictions.eq("id", 100));
        // 以后开发中常用DetachedCriteria

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Leetcode名企之路

【设计模式】单例模式

前几天面试一个校招的小朋友,让他写单例模式,没写出来,所以这里把两年前我的学习笔记发一下。这应该是所有设计模式中最简单的设计模式了,从它讲起。

12130
来自专栏Java进阶之路

IK分词器访问远程词典功能实现

IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。从2006年12月推出1.0版开始,IKAnalyzer已经推出了3个大版本。最...

39920
来自专栏架构师之旅

Oracle的常见问题汇总(2)——​ORACLE IN与EXISTS语句的区别

1、第一种解释方法: select * from A where id in(select id from B) 以上查询使用了in语句,in()只执行一...

20980
来自专栏求教

哪位大神指点下

File "C:\Users\Administrator\AppData\Local\Programs\Python\Python36\lib\logging\...

11600
来自专栏V站

Python的flask:models.py来创建mysql数据库

49160
来自专栏李智的专栏

Mysql进阶

1) 内连接 select a.*,b.* from a inner join b on a.id=b.parent_i...

8710
来自专栏xingoo, 一个梦想做发明家的程序员

【设计模式】—— 单例模式Singleton

  模式意图   保证类仅有一个实例,并且可以供应用程序全局使用。为了保证这一点,就需要这个类自己创建自己的对象,并且对外有公开的调用方法。   模式结构 ? ...

20070
来自专栏wym

手把手教你写linux系统下贪吃蛇(二)

创建线程后把第一篇用到的refresh()函数都删除,不然因为缓存区的原因产生乱码

29820
来自专栏禹都一只猫博客

Python的flask:models.py来创建mysql数据库

25660
来自专栏IT探索

hive使用笔记

json_tuple(json_object,'key1','key2','keyN')

32720

扫码关注云+社区

领取腾讯云代金券