public static void main(String[] args) {
Session session = null;
Transaction tx = null;
List list = null;
Criteria criteria = null;
InfoTab infoTab = null;
try {
session = HibernateSessionFactory.getSession();
tx = session.beginTransaction();
DetachedCriteria detachedCriteria = DetachedCriteria
.forClass(InfoTab.class);
Integer categoryId = 1;
String title = "出租";
if (categoryId != 0) {
detachedCriteria.add(Restrictions.eq("categoryId", categoryId));
} else if (!title.equals("")) {
detachedCriteria.add(Restrictions.like("title", title,
MatchMode.ANYWHERE));
}
/*
* 我的意思是:如何两个条件都满足,如何才能自由组合成如下示例?
*
* detachedCriteria.add(Restrictions.and(Restrictions.eq("categoryId",
categoryId), Restrictions.like("title", title,
MatchMode.ANYWHERE)));
*/
criteria = detachedCriteria.getExecutableCriteria(session);
list = criteria.list();
for (int i = 0; i < list.size(); i++) {
infoTab = (InfoTab) list.get(i);
System.out.println(infoTab.getTitle());
}
tx.commit();
} catch (HibernateException he) {
he.printStackTrace();
}
}
分享到:
相关推荐
- **WHERE** 子句用于过滤结果集,这里通过 `person.personName=''` 来限定查询条件。 - **ORDER BY** 用于对查询结果进行排序。 ### 2. 使用 HQL 进行参数化查询 第二个示例展示了如何使用 HQL 进行参数化查询...
1. 基本语法:HQL更新查询的语法结构类似于SQL的UPDATE语句,但以"UPDATE"关键字开头,后跟要更新的对象名,然后是SET关键字,接着是属性名和赋值,最后是WHERE子句来指定更新条件。例如: ```java Query query = ...
在复杂的查询场景下,可以使用DetachedCriteria来预定义查询条件,然后在需要时再与其他查询组合使用。 5. **命名查询(Named Queries)**: 如果某些查询模式经常被使用,可以定义命名查询,将其写入XML映射文件...
然后,我们添加了一个条件`criteria.add(Restrictions.eq("name","shun"))`,这相当于在SQL中设置WHERE子句,即`WHERE name='shun'`。 `Restrictions.eq()`方法是Criteria API中的一个关键组件,它用于构建等于...
然后,在主查询中,我们使用了这个条件并进行分页,同时按博客的发布时间进行升序排序。 以上就是关于“Hibernate在查询操作中使用分页+命名参数+排序技术”的详细介绍。在实际开发中,熟练掌握这些技巧能帮助我们...
笔记会深入讲解HQL的语法,包括SELECT、FROM、WHERE子句,以及JOIN、GROUP BY、ORDER BY等高级特性。 7. **Criteria API** 除了HQL,Hibernate还提供了Criteria API进行动态查询。这种方式更加面向对象,适合在...
HQL语句可以包含`SELECT`子句,也可以省略,不写时默认查询所有属性。使用HQL有四个基本步骤: 1. 获取Session对象。 2. 编写HQL查询语句。 3. 创建Query对象。 4. 执行查询并获取结果。 HQL支持`SELECT`语句中的...
学习HQL的基本语法,如SELECT, FROM, WHERE子句,以及JOIN, GROUP BY, ORDER BY等。 6. **Criteria查询**:另一种动态构建查询的方式,提供了更安全、更强大的查询能力,避免了SQL注入问题。 7. **Criteria API与...
HQL支持SELECT、FROM、WHERE、GROUP BY、ORDER BY等子句,可以进行复杂的查询。 六、Criteria查询 Criteria API提供了一种更加面向对象的方式来构建查询,它通过构建查询条件来执行数据库查询。这种方法灵活且类型...
2. Criteria查询:另一种对象级别的查询方式,通过Criteria、DetachedCriteria等接口构建查询条件,灵活且动态。 四、级联操作与关联映射 1. 级联操作:通过 cascade 属性,可以在操作父对象时自动处理子对象的...
源码中会包含各种HQL示例,如SELECT、FROM、WHERE子句的使用,以及JOIN操作,这有助于理解如何通过HQL进行复杂的数据检索。 4. Criteria API:除了HQL,Hibernate还提供了Criteria API,一种更动态的查询方式。通过...
- HQL的基本语法:SELECT、FROM、WHERE、GROUP BY、ORDER BY等子句。 - HQL的查询优化:避免N+1查询,使用JOIN fetch预加载关联数据。 7. **Criteria查询**: - 动态构建查询条件,比HQL更灵活。 - Criteria、...