首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏黑泽君的专栏

    Criteria 和 DetachedCriteria 的区别

    // 所以为了解决这个问题,我们使用离线条件查询对象,该对象的创建不需要session对象 DetachedCriteria detachedCriteria = DetachedCriteria.forClass (User.class); // 使用离线条件查询对象,封装查询条件 detachedCriteria.add(Restrictions.eq("id", 100)); // 以后开发中常用DetachedCriteria

    64510发布于 2018-10-11
  • 来自专栏冷冷

    Hibernate--Criteria Query and DetachedCriteria

    DetachedCriteria    Hibernate2中,Criteria生命周期位于其宿主Session生命周期中,也就是说,由某个session创建的Criteria实例,一旦session销毁 Hibernate3中引入了DetachedCriteriaDetachedCriteria可以脱离session实例独立存在,这样,我们就可以将某些通用的Criteria查询条件进行抽离,每次使用时再与当前 DetachedCriteria deCriteria=DetachedCriteria.forClass(TUser.class); deCriteria.add(Expression.eq("name 的生存周期与session实例无关,我们可以独立创建DetachedCriteria实例,并在需要使用时与session相绑定,从而获得运行期Criteria实例。 DetachedCriteria也可以用于子查询表达: DetachedCriteria aveAge=DetachedCriteria.forClass(TUser.class); avgAge.setProjection

    1.4K50发布于 2018-02-08
  • 来自专栏全栈程序员必看

    Hibernate Criterion

    Criteria和DetachedCriteria的主要差别在于创建的形式不一样,Criteria是在线的,所以它是由HibernateSession进行创建的; 而DetachedCriteria是离线的 ,创建时无需Session,DetachedCriteria提供了2个静态方法forClass(Class)或forEntityName(Name)进行DetachedCriteria实例的创建. Spring的框架提供了getHibernateTemplate().findByCriteria(detachedCriteria)方法,能够非常方便地依据DetachedCriteria来返回查询结果 DetachedCriteria query = DetachedCriteria.forClass(Cat.class) .add(Property.forName(“sex”).eq(‘F’)); DetachedCriteria avgWeight = DetachedCriteria.forClass(Cat.class) .setProjection(Property.forName(“weight

    1.1K20编辑于 2022-07-13
  • 来自专栏黑泽君的专栏

    day51_BOS项目_03

     detachedCriteria; // 离线条件查询对象,封装查询条件   // List<?  getDetachedCriteria() {         return detachedCriteria;     }     public void setDetachedCriteria(DetachedCriteria  detachedCriteria) {         this.detachedCriteria = detachedCriteria;     }     public List<?  detachedCriteria = DetachedCriteria.forClass(Staff.class); // 创建离线条件查询对象         pageBean.setDetachedCriteria (null);         // 重置表和类的映射关系         detachedCriteria.setResultTransformer(DetachedCriteria.ROOT_ENTITY

    3.9K10发布于 2018-10-11
  • 来自专栏全栈程序员必看

    七、hibernate中的持久层模板操作HibernateTemplate的用法「建议收藏」

    criteria = DetachedCriteria.forClass(UserBean.class);// From UserBean where 1=1 if (! 类,因为hibernateTemplate.findByCriteria(DetachedCriteria criteria)方法必须传入DetachedCriteria, 关于DetachedCriteria 他们的用法差不多,只是DetachedCriteria相比Criteria少了一些方法。 (Name) 进行DetachedCriteria 的实例创建。 DetachedCriteria中去重复,并且将关联对象装配到主对象,用: criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY) @

    1.2K10编辑于 2022-07-05
  • 来自专栏python3

    Struts Spring Hibern

    org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.hibernate.criterion.DetachedCriteria --[endif]--> DetachedCriteria detachedCriteria = DetachedCriteria .forClass(InfoTab.class); detachedCriteria.addOrder --[endif]--> PaginationSupport ps = userManager.findPageByCriteria(detachedCriteria, PaginationSupport.PAGESIZE

    50220发布于 2020-01-07
  • 来自专栏jeremy的技术点滴

    hibernate查询的一些优化写法

    Demo.class); criteria.add(Restrictions.eq("param1", param1)); List<Demo> demos = criteria.list(); // 推荐 DetachedCriteria criteria = DetachedCriteria.forClass(Demo.class) .add(Restrictions.eq("param1", param1)); List<Demo Demo.class); criteria.add(Restrictions.eq("param1", param1)); List<Demo> demos = criteria.list(); // 推荐 DetachedCriteria criteria = DetachedCriteria.forClass(Demo.class) .add(Restrictions.eq("param1", param1)); List<Demo

    1.4K40发布于 2018-05-10
  • 来自专栏黑泽君的专栏

    day53_BOS项目_05

     detachedCriteria = DetachedCriteria.forClass(Staff.class);         // 向离线条件查询对象中封装条件         detachedCriteria.add (Restrictions.eq("deltag", "0"));         return staffDao.findByCriteria(detachedCriteria);     } 第四步 :在IBaseDao中提供通用的条件查询方法 IBaseDao.java     // 条件查询(不带分页)     public List<T> findByCriteria(DetachedCriteria (DetachedCriteria detachedCriteria) {         return this.getHibernateTemplate().findByCriteria(detachedCriteria  detachedCriteria = DetachedCriteria.forClass(Subarea.class);         // 向离线条件查询对象中封装条件         // detachedCriteria.add

    1.4K40发布于 2018-10-11
  • 来自专栏辰远

    数据库:Criteria与原生SQL查询

    DetachedCriteria类和Criteria接口功能很类似,可以使用上述提到的方式(Criterion与Projection)设置查询条件,但两者的创建方式不同:Criteria必须由Session 对象创建,而DetachedCriteria创建时不需要Session对象。 因此DetachedCriteria可以在Session作用域之外构建,并添加一系列复杂条件,然后传递到具有Session环境的Dao方法中执行。 DetachedCriteria的出现实现了“条件构建”和“查询执行”的分离。 public static void main(String[] args) { DetachedCriteria cri = DetachedCriteria.forClass(Movie.class

    1.5K50编辑于 2023-10-17
  • 来自专栏lgp20151222

    Hibernate的条件查询的几种方式

    List<UserPO> list = cri.list(); session.close(); return list; } 5、离线条件查询,如: //登录(用离线条件查询 DetachedCriteria LoginUser6(UserPO up)throws Exception{ Session session = HibernateSessionFactory.getSession(); DetachedCriteria dc = DetachedCriteria.forClass(UserPO.class); dc.add(Restrictions.eq("name", up.getName())); dc.add

    2.2K20发布于 2018-09-10
  • 来自专栏黑泽君的专栏

    day52_BOS项目_04

     detachedCriteria = null; 在BaseAction的构造方法中创建条件查询对象,并注入给PageBean对象 如下图所示: ? 对象转为JSON格式的数据的方法         this.writePageBean2Json(pageBean, new String[] {"currentPage", "pageSize", "detachedCriteria this.writePageBean2Json(pageBean, new String[] {"currentPage", "pageSize", "detachedCriteria", "subareas  detachedCriteria2 = pageBean.getDetachedCriteria();         // QBC查询语句:当关联查询时,也即多表查询,需要创建别名,通过别名才可以访问关联对象的属性 = null) {             // 创建别名,用于多表查询             detachedCriteria2.createAlias("region", "r");             

    1.6K20发布于 2018-10-11
  • 来自专栏黑泽君的专栏

    day59_BOS项目_11

    即未启动的工作单)      */     public List<Workordermanage> findListNotStart() {         // 创建离线条件查询对象         DetachedCriteria  detachedCriteria = DetachedCriteria.forClass(Workordermanage.class);         // 向离线条件查询对象中封装查询条件          detachedCriteria.add(Restrictions.eq("start", "0"));         return workordermanageDao.findByCriteria (detachedCriteria );     } 第二步:配置struts.xml     <!

    71730发布于 2018-11-07
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    Hibernate_day03总结

    Customer customer : list) { System.out.println(customer); } tx.commit(); session.close(); } 1.2.6 离线条件查询: DetachedCriteria @Test /** * 离线条件查询 */ publicvoid demo3(){ DetachedCriteria detachedCriteria = DetachedCriteria.forClass (Customer.class); detachedCriteria.add(Restrictions.like("cname", "%马%")); detachedCriteria.add(Restrictions.gt = HibernateUtils.openSession(); Transaction tx = session.beginTransaction(); List<Customer> list = detachedCriteria.getExecutableCriteria

    1.4K30发布于 2018-03-19
  • 来自专栏Jasper小笔记

    Hibernate查询方式

    Projections.rowCount()); Object o = criteria.uniqueResult(); System.out.println(o); 离线条件查询 脱离Session,添加条件 可以在外部提前使用DetachedCriteria 对象提交设置好条件 最后再绑定到session当中 public void lxTest(){ Session session = HibernateUtil.openSession(); DetachedCriteria dc = DetachedCriteria.forClass(Course.class); dc.add(Restrictions.like("course_name","语%")); /

    1.1K20发布于 2019-09-17
  • 来自专栏AlbertYang的编程之路

    Spring第四天:SSH的整合、HibernateTemplate的使用、OpenSessionInViewFilter的使用

    Serializable id); load(Class c,Serializable id); 查询多个 List find(String hql,Object… args); List findByCriteria(DetachedCriteria dc); List findByCriteria(DetachedCriteria dc,int firstResult,int maxResults); List findByNamedQuery( from Customer"); return list; } @Override public List<Customer> findAllByQBC() { DetachedCriteria criteria = DetachedCriteria.forClass(Customer.class); List<Customer> list = (List<Customer>) this.getHibernateTemplate

    1.1K41发布于 2020-09-08
  • 来自专栏编程心路

    SSH框架之旅-hibernate(4)

    finally { session.close(); sessionFactory.close(); } } 4.6 离线查询 DetachedCriteria 翻译为离线条件查询,他不不依赖 Session 来创建,所以 DetachedCriteria 可以被其他层使用条件封装,在交给 DAO 层查询,在 SSH 框架的整合上经常使用。 sessionFactory.openSession(); tx = session.beginTransaction(); //离线查询 DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Student.class); Criteria criteria = detachedCriteria.getExecutableCriteria

    2K30发布于 2018-08-30
  • 来自专栏安卓圈

    SSH整合

    com.jinke.ssh.dao.CustomerDao; import com.jinke.ssh.domain.Customer; import org.hibernate.criterion.DetachedCriteria return list; } @Override public List<Customer> findAllByQBC() { //自带分页 DetachedCriteria criteria = DetachedCriteria.forClass(Customer.class); List<Customer> list = (List<Customer>)

    1.6K20发布于 2019-09-26
  • 来自专栏黑泽君的专栏

    day56_BOS项目_08

    functionService.pageQuery(pageBean);         String[] excludes = new String[] {"currentPage", "pageSize", "detachedCriteria functionService.pageQuery(pageBean);         String[] excludes = new String[] {"currentPage", "pageSize", "detachedCriteria list = roleService.findAll();         String[] excludes = new String[] {"currentPage", "pageSize", "detachedCriteria = functionService.findMenu();         String[] excludes = new String[] {"currentPage", "pageSize", "detachedCriteria

    1.1K20发布于 2018-10-15
  • 来自专栏AlbertYang的编程之路

    Hibernate第四天:Hibernate的查询方式、抓取策略

    criteria.uniqueResult(); System.out.println(num); tx.commit(); } 1.4.6离线条件查询(SSH)---DetachedCriteria Test /** * 离线条件查询 */ publicvoid demo6(){ DetachedCriteriadetachedCriteria = DetachedCriteria.forClass (Customer.class); detachedCriteria.add(Restrictions.like("cust_name", "李%")); Session HibernateUtils.getCurrentSession(); Transaction transaction =session.beginTransaction(); Criteria criteria =detachedCriteria.getExecutableCriteria

    2.2K51发布于 2020-09-08
  • 来自专栏Kevin-ZhangCG

    [ SSH框架 ] Hibernate框架学习之二

    ); Long count = (Long)c.uniqueResult(); System.out.println(count); //离线查询 // 使用DetachedCriteria 可以直接得到 //使用DetachedCriteria对象实现的查询,称之为离线查询 @Test public void test6(){ //获取离线对象不需要 session DetachedCriteria dc=DetachedCriteria.forClass(Customer.class); //封装查询条件 for(Object o:list) System.out.println(o); } private List testService(DetachedCriteria Exception e){ tx.rollback(); } return null; } private List testDao(DetachedCriteria

    1.1K50发布于 2018-05-22
领券