时间拼接+多条件查询
public List<PmpTaskInfo> getAllClosedTaskInfo(String startTime,
String endTime) {
DetachedCriteria detachedCriteria = DetachedCriteria
.forClass(PmpTaskInfo.class);
if (startTime != null && startTime.length() > 0) {
startTime += " 00:00:00";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date;
try {
date = sdf.parse(startTime);
detachedCriteria.add(Expression.ge("pmpTaskCreatedtime",
new Timestamp(date.getTime())));
} catch (ParseException e) {
e.printStackTrace();
}
}
if (endTime != null && endTime.length() > 0) {
endTime += " 23:59:59";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date;
try {
date = sdf.parse(startTime);
detachedCriteria.add(Expression.le("pmpTaskCreatedtime",
new Timestamp(date.getTime())));
} catch (ParseException e) {
e.printStackTrace();
}
}
detachedCriteria.add(Expression.ne("pmpTaskEffectflag", -1));
detachedCriteria.add(Expression.eq("pmpTaskstateId", 3));
List<PmpTaskInfo> tasks = detachedCriteria.getExecutableCriteria(
getSession()).list();
return tasks;
}
建立连接查相关表的内容
public List<PmpWorkLog> findTaskLogsByTaskId(String taskId) {
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(
PmpWorkLog.class).createAlias("pmpTaskInfo", "task");
detachedCriteria.add(Expression.eq("task.pmpTaskId", Integer
.parseInt(taskId)));
List<PmpWorkLog> taskLogs = detachedCriteria.getExecutableCriteria(
getSession()).list();
return taskLogs;
}
分享到:
相关推荐
DetachedCriteria 查询 DetachedCriteria 是 Hibernate 中的一种离线查询对象,它可以在不依赖 Session 的情况下生成动态 SQL 语句并进行查询。下面是 DetachedCriteria 查询的详细知识点: 创建 DetachedCriteria...
在DetachedCriteria中定义的查询条件可以在稍后的时间点附加到Session上执行,这使得查询可以脱离当前的Session状态,因此得名“Detached”。这种特性在处理复杂的、跨多个事务的查询时非常有用,同时也可以避免因长...
DetachedCriteria
使用 DetachedCriteria 可以很方便地根据查询条件来返回查询结果,Spring 框架提供了 `getHibernateTemplate().findByCriteria(detachedCriteria)` 方法来实现这一点。 Criteria 和 DetachedCriteria 均可使用 ...
条件查询** - **多条件的 and 规则**:默认情况下,多次添加的条件会按照 AND 连接。例如,使用 `searDc.add(Restrictions.eq("unid", userid))` 添加多个条件时,这些条件将以 AND 规则连接在一起。 - **多条件...
在Java的持久化框架Hibernate中,DetachedCriteria是一个强大的查询工具,它允许我们在不与Session交互的情况下构建查询条件。然而,DetachedCriteria在处理复杂的关联查询,尤其是涉及到表连接(JOIN)时,可能存在...
- **使用场景**:`Criteria` 适用于即时查询,而 `DetachedCriteria` 更适合跨层传递查询条件。 - **灵活性**:`DetachedCriteria` 提供了更大的灵活性,可以在不同层之间传递而不会丢失查询状态。 #### 三、`...
在Web编程中,DetachedCriteria和Criteria可以解决动态条件查询的问题,提高程序的灵活性和可维护性。 DetachedCriteria的使用方法: DetachedCriteria是离线的查询工具,可以在Web层构造查询条件,然后将其传递给...
在这个“springMVC+hibernate的条件查询加分页的demo”中,我们将探讨如何结合这两个框架实现动态的条件查询和分页功能。 首先,让我们了解一下SpringMVC中的条件查询。在SpringMVC中,通常通过Controller层接收...
本篇文章将深入探讨Hibernate中的QBC(Query By Example)条件查询与传统的HQL(Hibernate Query Language)查询的对比,帮助开发者更好地理解和选择适合的查询方式。 QBC(Query By Example)是Hibernate提供的一...
10. **使用DetachedCriteria**:当查询条件在未来的某个时刻才确定时,可以先创建一个DetachedCriteria对象,然后在需要的时候再与Session关联并执行查询。 在实际开发中,Hibernate Criteria查询提供了很大的便利...
### Hibernat 使用Criteria查询多对多关系(SET集合)条件 #### 背景介绍与概念理解 在Java开发中,特别是在企业级应用中,持久化层的处理至关重要。Hibernate作为一款流行的Java持久化框架,它提供了一种非常简便...
DetachedCriteria是Criteria API的一个扩展,它允许在业务层创建查询条件,并在数据访问层执行查询。 **特点:** - **面向对象:** 继承了Criteria API的所有优点。 - **业务逻辑分离:** 可以将查询条件的构建与...
《Hibernate查询条件查询详解》 Hibernate作为Java领域中广受欢迎的对象关系映射(ORM)框架,极大地简化了数据库操作。其强大的查询能力是其核心功能之一。本篇将深入探讨Hibernate的条件查询,帮助开发者更好地...
5. **关联查询**:使用createAlias()方法可以实现多表联查,例如`criteria.createAlias("associatedEntity", "alias")`,然后可以通过"alias.property"的方式引用关联实体的属性。 6. **子查询**:DetachedCriteria...
源文件 博文链接:https://kings008.iteye.com/blog/246773
Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置查询条件。可以设置 FetchMode(联合查询抓取的模式),设置排序方式。对于 Criteria 还可以设置 FlushModel(冲刷 Session 的方式)和 ...
在上述代码中,我们创建了一个DetachedCriteria对象,设置了查询条件为用户名等于"admin",然后在主查询中添加了这个子查询条件。 Criterion查询还可以与Projection一起使用,实现分组、聚合等功能。Projection是...
DetachedCriteria通过forClass()或forEntityName()方法初始化,这对于在服务层组装查询条件非常有用。 Criteria查询的条件由Criterion对象表示,Criterion接口定义了如何设置查询条件。例如,你可以使用...
Criteria 和 DetachedCriteria 均可使用 Criterion 和 Projection 设置查询条件。可以设置 FetchMode(联合查询抓取的模式)、设置排序方式。对于 Criteria 还可以设置 FlushModel(冲刷 Session 的方式)和 ...