Service
Criterion c1 = Restrictions.eq("diprojectId", projectId);
Criterion c2 = Restrictions.in("digroupId", groupId);
Criterion c3 = Restrictions.eq("divalid", Const_val.C_INT_VALID);
List<TbDeviceInfo> deviceInfoList = deviceInfoDao.findAvlByProIdAndGroupId(projectId, groupId, c1, c2, c3);
Dao
public List<TbDeviceInfo> findAvlByProIdAndGroupId(Integer projectId, Collection<Integer> groupId, Criterion... c)
DetachedCriteria criteria = DetachedCriteria.forClass(TbDeviceInfo.class);
for (Criterion criterion : c) {
criteria.add(criterion);
}
List<TbDeviceInfo> results = getHibernateTemplate().findByCriteria(criteria);
分享到:
相关推荐
- **业务逻辑分离:** 可以将查询条件的构建与实际的数据访问过程分离。 - **灵活性高:** 便于在不同的上下文中重用查询条件。 - **局限性:** 同样只适用于Hibernate环境。 **适用场景:** - 需要在业务层构建...
合理地使用Criterion和DetachedCriteria,避免过度复杂的查询条件,可以有效提高查询性能。 总的来说,Hibernate的Criterion查询机制提供了一种灵活、强大的动态查询方式,通过它,开发者可以在不写硬编码SQL的情况...
在这个例子中,我们首先创建了一个分离的查询条件,用于筛选属于特定博主的博客。然后,在主查询中,我们使用了这个条件并进行分页,同时按博客的发布时间进行升序排序。 以上就是关于“Hibernate在查询操作中使用...
Hibernate 3引入了`DetachedCriteria`,它允许你在不直接涉及Session的情况下构建查询条件。这有助于分离业务逻辑和数据访问层,使代码更易管理。创建DetachedCriteria的示例如下: ```java DetachedCriteria ...
之后,我们使用`createCriteria`创建主查询,并通过`Subqueries.propertyIn`方法添加子查询,这样就能找到所有与用户名为'test'的用户有相同ID的用户。 ### 学习资源 为了更好地学习和理解这些概念,你可以参考...
通过DetachedCriteria构造查询条件,然后使用Session的createCriteria()方法执行查询。 六、性能优化 1. 第二级缓存:通过配置和使用二级缓存,可以提高数据读取速度,减少对数据库的访问。 2. 利用批处理:使用...
3. Criteria查询:提供更加面向对象的查询方式,通过Criteria和DetachedCriteria构建查询条件。 4. 自动更新与延迟加载:通过懒加载(Lazy Loading)和自动更新(Auto-Flush)特性,提高程序响应速度和资源利用率。 五...
4. ** Criteria API的子接口**:如DetachedCriteria,可以创建分离的查询条件,适用于非当前Session的查询操作。另外,Projection和CriteriaJoin等接口提供了更高级的查询功能,如聚合函数和连接操作。 5. **Query...
在代码中,`DetachedCriteria`、`Restrictions`和`Order`都是Hibernate的查询API,用于构建复杂的查询条件和排序规则。 5. **DetachedCriteria**: 这是Hibernate的一个API,用于创建不依赖于Session的查询条件。...
- **DetachedCriteria和子查询**:允许在查询中使用子查询或预定义的查询条件。 以上是对NHibernate框架的深入探讨,从数据持久化的概念出发,介绍了NHibernate的基本使用、体系结构、配置细节、对象映射基础以及...
- **DetachedCriteria检索方式**: 这种检索方式允许创建与特定`Session`实例无关的查询条件,提高代码的可重用性。 #### 实体对象生命周期 实体对象的生命周期包括三种状态:自由状态(Transient)、持久状态...
* Hibernate 实现动态查询:使用条件查询代替 HQL 语句, DetachedCriteria 是分离业务层的应用,原本的 Criteria 是与 session 绑定的。 二、Java 基础知识点 * Jdk1.6 的新技术 Annotation:特点是可以大量应用...
4. 加载(Load)与检索(Find):通过Session的load()和get()方法获取对象,find()方法则可以根据条件查询。 五、查询语言(HQL) Hibernate提供了一种面向对象的查询语言,即HQL,它允许开发者以类和属性的方式...
- 支持分离的条件查询(DetachedCriteria),用于构建可重用的查询条件。 - 支持Hibernate查询语言(HQL),提供了一种SQL风格的查询方式。 **高级GORM特性** - 支持事件和自动时间戳,简化了审计信息的记录。 - 支持...