HQL语句为:
select new com.xxx.vo.TAdminDefineReportVo(a.defineReportId,a.reportTmpId,
c.reportName,a.admin,a.reportType,a.description,
a.status,a.createTime,a.autoSend,a.emails,b.userName)
from TAdminDefineReport a,TReportTemplate c,TAdminInfo b
where a.reportTmpId = c.reportTmpId
and a.admin = b.administrorId
and a.admin = ? $queryClause$
order by a.reportTmpId desc,a.createTime desc
DaoImpl类:
public Pagination getAdminRepByAdmId(int admId,String queryName,String reportType,String startTime,String endTime){
try{
String hql = this.getHql("repTmp.hql10");
StringBuilder sb = new StringBuilder();
if(("".equals(queryName)||queryName==null)&&("-1".equals(reportType)||reportType==null)
&&("".equals(startTime)||startTime==null)&&("".equals(endTime)||endTime==null)){
hql = hql.replace("$queryClause$", "");
}
if(!"".equals(queryName) && queryName != null){
sb.append(" and b.reportName like '%" + queryName + "%'");
}
if(!"-1".equals(reportType)&&!"".equals(reportType)){
sb.append(" and a.reportType = '" + reportType + "'");
}
if(!"".equals(startTime) && startTime != null){
sb.append(" and a.createTime >= '" + startTime + "'");
}
if(!"".equals(endTime) && endTime != null){
sb.append(" and a.createTime <= '" + endTime + "'");
}
hql = hql.replace("$queryClause$", sb.toString());
return this.searchPaginated(hql,admId);
}catch(Exception e){
logger.error(e.getMessage());
throw new PersistenceException(e.getMessage());
}
}
分享到:
相关推荐
在上述代码中,`from User`是HQL语句,它将会返回User实体对应的数据库表中的所有记录。 另外,也可以指定类的完全限定名来进行查询: ```java Query query = session.createQuery("from com.vo.User"); ``` 注意,...
- 可以在配置文件中设置SQL日志记录级别,以便在控制台查看执行的SQL语句。 - **2.3 生成POJO对象和映射文件** - **2.3.1 打开Myeclipse Database Explorer视图** - 数据库视图提供了可视化的界面,方便用户查看...
Hibernate是一个强大的ORM框架,用于简化Java应用中数据持久化的复杂性,它允许开发者以面向对象的方式操作数据库,避免了直接编写SQL语句的繁琐。 #### 描述解读:“夏昕老师通俗易懂的讲解,适合初学者” 这段...
在项目中添加Hibernate支持,设置`show_sql=true`以便查看生成的SQL语句。通过IDE的工具,可以方便地进行对象-关系映射(ORM)配置,并进行测试验证。 最后,我们将简要讨论一对一的关系映射。例如,一个中国公民...
事务管理是任何数据库操作中不可或缺的一部分,文档不仅阐述了基于JDBC和JTA的事务管理策略,还深入分析了悲观锁和乐观锁的原理,帮助读者掌握如何在并发环境下正确地管理数据的一致性和完整性。 #### 分页与缓存...
Hibernate 是一个开源的 Java 平台上的对象关系映射(ORM)框架,它允许开发者将传统的数据库操作...通过这些知识点的学习,你可以理解 Hibernate 的基本原理和使用方法,从而更高效地进行 Java 应用中的数据库操作。
- `SessionFactory`是线程安全的,通常在整个应用程序中只有一个实例。 - 创建时需要一个`Configuration`对象,该对象包含了所有连接数据库所需的配置信息。 - 可以通过`Configuration`的`configure()`方法自动...
- 对于`save`操作,如果对象已经与`Session`关联,则无需额外操作,因为`Session.flush`过程中,Hibernate会遍历实体容器中的对象,检测并执行相应的更新语句。 通过以上详细的解析,我们可以看到Hibernate提供了...
- **Hibernate**是一种开源的对象关系映射(ORM)框架,用于简化Java应用中持久层的开发工作。 - **DAO**(Data Access Object)设计模式用于抽象数据访问逻辑,减少业务逻辑与数据访问逻辑之间的耦合。 - **封装**...
Hibernate 4 快速入门实例详解 Hibernate 是一个流行的 Java 应用程序开发框架,它提供了 ORM (Object-Relational ...在实际开发中,还可以进一步探索 Hibernate 的高级特性,如缓存管理、事务控制和查询语言 HQL。
通过学习本书,不仅可以掌握Hibernate的核心技术,还能了解到作者在实际项目中遇到的问题及解决方案,对于深入理解Hibernate及其在企业级应用中的作用具有重要意义。 综上所述,《Hibernate开发指南》覆盖了从基础...
在分页中,Hibernate通过HQL(Hibernate Query Language)或SQL查询语句,配合Criteria API来获取特定范围的数据。 实现分页的基本步骤如下: 1. **配置Struts和Hibernate**:首先,确保你的项目中正确导入了...
Hibernate是一个开源的对象关系映射(ORM)框架,用于简化Java应用中的数据库操作。它允许开发者以面向对象的方式来处理数据库,而不需要直接编写SQL语句。这不仅提高了开发效率,还增强了代码的可维护性和可读性。 ...
- **独立的对象持久层框架**: Hibernate 作为独立的对象持久层框架,可以应用于各种 Java 应用程序中的数据库访问代码,如 DAO 接口的实现类。 - **广泛的应用范围**: Hibernate 可用于任何需要使用 JDBC 的地方,其...
在Hibernate中,我们可以使用Criteria API或者HQL(Hibernate Query Language)来构造带有分页条件的查询。在描述中提到的“调用方法时只需传一个sql”,可能是将用户提供的基础SQL语句与分页参数结合,生成带有分页...
2. **SessionFactory**: SessionFactory是线程安全的,它是创建Session的工厂,通常在一个应用中只创建一个SessionFactory实例。 3. **Session**: Session是与数据库交互的主要接口,它代表了一个会话期,提供了...
这些示例代码适用于初学者了解 Hibernate 的基本用法,但实际应用中还需要注意异常处理、事务管理等细节。此外,对于生产环境的应用程序,建议采用更先进的事务管理方式,如 Spring 的声明式事务管理等。