DetachedCriteria detachedCriteria =DetachedCriteria.forClass(UserVO.class)
//.add(Restrictions.like("username","sz",MatchMode.ANYWHERE));
.add(org.hibernate.criterion.Expression.disjunction() //or查询把add放到外面是and查询,MatchMode.ANYWHERE糊查询
.add(org.hibernate.criterion.Property.forName("username").like("s", MatchMode.ANYWHERE))
.add(org.hibernate.criterion.Property.forName("password").like("c", MatchMode.ANYWHERE))
);
多对一情况
DetachedCriteria zlbdc=DetachedCriteria.forClass(ZlZlxm.class, "zlb");
// .createAlias("zlb.zl", "t")
// .setProjection(Property.forName("t.id").count())
//.add(Property.forName("t.id").eq(new Long(1)))
org.hibernate.criterion.Projection projection=org.hibernate.criterion.Projections.projectionList()
.add(org.hibernate.criterion.Property.forName("zlb.fdxx"),"id");
zlbdc.setProjection(projection);
//zlbdc.createCriteria("zl");//加上这句是内联接(inner join)zl为集合
投影查询,得到一是object[]
DetachedCriteria zlbdc=DetachedCriteria.forClass(ZlZlxm.class, "zlb")
//zlbdc.createCriteria("zl"); //此处为对象
.createAlias("zlb.zl", "t") //别名
.setProjection(Property.forName("t.id").count())
.add(Property.forName("t.id").eq(new Long(1))); //这里统计的是个数内联接(inner join)
//zladc.setFetchMode("zla.zlZlxm", org.hibernate.FetchMode.JOIN);//无作用(集合lazy)???,如果not lazy将会是全部查出
分享到:
相关推荐
**Hibernate 框架及其DetachedCriteria操作详解** Hibernate 是一个强大的Java持久化框架,它极大地简化了数据库操作,使得开发者能够用面向对象的方式处理数据库事务。本篇将深入探讨Hibernate中的...
DetachedCriteria
"Hibernate - DetachedCriteria 的完整用法" Hibernate 的 Criteria 和 DetachedCriteria 是两个不同的概念,虽然它们都是用于查询数据的,但它们在创建和使用上有所不同。 首先,Criteria 是在线的,需要通过 ...
DetachedCriteria 查询 DetachedCriteria 是 Hibernate 中的一种离线查询对象,它可以在不依赖 Session 的情况下生成动态 SQL 语句并进行查询。下面是 DetachedCriteria 查询的详细知识点: 创建 DetachedCriteria...
在Java的持久化框架Hibernate中,DetachedCriteria是一个强大的查询工具,它允许我们在不与Session交互的情况下构建查询条件。然而,DetachedCriteria在处理复杂的关联查询,尤其是涉及到表连接(JOIN)时,可能存在...
### DetachedCriteria 使用详解 #### 一、基本使用 **1. 说明** `DetachedCriteria` 是 Hibernate 提供的一种灵活且强大的查询机制,它允许你在脱离 Session 的情况下构建复杂的查询标准,这意味着你可以提前构建...
### DetachedCriteria 使用详解 #### 一、背景与概述 在Web开发中,经常会遇到需要根据用户提供的条件进行动态查询的需求。例如,在社交平台中,用户可以设置多种筛选条件来进行高级搜索,这时就需要动态生成SQL...
浅谈DetachedCriteria和Criteria的使用方法 DetachedCriteria和Criteria是Hibernate框架中两个重要的查询工具,用于动态生成SQL语句,进行查询。在Web编程中,DetachedCriteria和Criteria可以解决动态条件查询的...
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(User.class); detachedCriteria.add(Expression.eq("username", "admin")); List<User> users = session.createCriteria(User.class)....
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(User.class); detachedCriteria.add(Restrictions.eq("status", "active")); userList = getHibernateTemplate().findByCriteria...
DetachedCriteria通过DetachedCriteria.forClass()或DetachedCriteria.forEntityName()方法实例化,之后可以在需要时与Session结合执行查询。 **Criterion** 是Criteria查询条件的基础接口。它定义了如何设置查询...
在Spring框架中,HibernateTemplate提供了一种方便的方式来执行DetachedCriteria查询,通过getHibernateTemplate().findByCriteria(detachedCriteria)方法,可以轻松地根据DetachedCriteria实例执行查询并获取结果。...
例如,DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Class); 这里可以在 Session 之外创建 DetachedCriteria 实例。 Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置查询...
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Cat.class); detachedCriteria.add(Restrictions.eq("color", "white")); List<Cat> whiteCats = getHibernateTemplate().findByCriteria...
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Dept.class); detachedCriteria.setProjection(Property.forName("loc")); List<String> locations = session.createCriteria(Dept.class).add...
本文将详细介绍Hibernate中的Criteria API及其子类DetachedCriteria的使用方法,以及如何利用它们进行高效的数据查询。 #### 二、Criteria与DetachedCriteria ##### 1. Criteria - **定义**:`Criteria` 是...
- **创建方式**:通过`DetachedCriteria.forClass(Class)`或`DetachedCriteria.forEntityName(String)`创建实例。 - **特点**:查询条件可以独立于Session存在,直到执行查询时才需要Session。 **示例代码**: ```...