`
AllenHU0320
  • 浏览: 86949 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate的VO在HQL语句中的应用

 
阅读更多

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());
  }
 }

分享到:
评论

相关推荐

    HQL.pdf数据查询语句

    在上述代码中,`from User`是HQL语句,它将会返回User实体对应的数据库表中的所有记录。 另外,也可以指定类的完全限定名来进行查询: ```java Query query = session.createQuery("from com.vo.User"); ``` 注意,...

    Hibernate3教程

    - 可以在配置文件中设置SQL日志记录级别,以便在控制台查看执行的SQL语句。 - **2.3 生成POJO对象和映射文件** - **2.3.1 打开Myeclipse Database Explorer视图** - 数据库视图提供了可视化的界面,方便用户查看...

    Hibernate开发指南___夏昕

    Hibernate是一个强大的ORM框架,用于简化Java应用中数据持久化的复杂性,它允许开发者以面向对象的方式操作数据库,避免了直接编写SQL语句的繁琐。 #### 描述解读:“夏昕老师通俗易懂的讲解,适合初学者” 这段...

    Hibernate 简单使用 hibernate, ppt

    在项目中添加Hibernate支持,设置`show_sql=true`以便查看生成的SQL语句。通过IDE的工具,可以方便地进行对象-关系映射(ORM)配置,并进行测试验证。 最后,我们将简要讨论一对一的关系映射。例如,一个中国公民...

    深入浅出Hibernate完整版

    事务管理是任何数据库操作中不可或缺的一部分,文档不仅阐述了基于JDBC和JTA的事务管理策略,还深入分析了悲观锁和乐观锁的原理,帮助读者掌握如何在并发环境下正确地管理数据的一致性和完整性。 #### 分页与缓存...

    hibernate学习笔记

    Hibernate 是一个开源的 Java 平台上的对象关系映射(ORM)框架,它允许开发者将传统的数据库操作...通过这些知识点的学习,你可以理解 Hibernate 的基本原理和使用方法,从而更高效地进行 Java 应用中的数据库操作。

    hibernate的配置使用和各种查询

    - `SessionFactory`是线程安全的,通常在整个应用程序中只有一个实例。 - 创建时需要一个`Configuration`对象,该对象包含了所有连接数据库所需的配置信息。 - 可以通过`Configuration`的`configure()`方法自动...

    hibernate配置要点详谈

    - 对于`save`操作,如果对象已经与`Session`关联,则无需额外操作,因为`Session.flush`过程中,Hibernate会遍历实体容器中的对象,检测并执行相应的更新语句。 通过以上详细的解析,我们可以看到Hibernate提供了...

    Hibernate笔记

    - **Hibernate**是一种开源的对象关系映射(ORM)框架,用于简化Java应用中持久层的开发工作。 - **DAO**(Data Access Object)设计模式用于抽象数据访问逻辑,减少业务逻辑与数据访问逻辑之间的耦合。 - **封装**...

    hibernate4快速入门实例详解

    Hibernate 4 快速入门实例详解 Hibernate 是一个流行的 Java 应用程序开发框架,它提供了 ORM (Object-Relational ...在实际开发中,还可以进一步探索 Hibernate 的高级特性,如缓存管理、事务控制和查询语言 HQL。

    Hibernate开发指南

    通过学习本书,不仅可以掌握Hibernate的核心技术,还能了解到作者在实际项目中遇到的问题及解决方案,对于深入理解Hibernate及其在企业级应用中的作用具有重要意义。 综上所述,《Hibernate开发指南》覆盖了从基础...

    分页(struts和hibernate实现)

    在分页中,Hibernate通过HQL(Hibernate Query Language)或SQL查询语句,配合Criteria API来获取特定范围的数据。 实现分页的基本步骤如下: 1. **配置Struts和Hibernate**:首先,确保你的项目中正确导入了...

    Hibernate 开发学习指导书

    Hibernate是一个开源的对象关系映射(ORM)框架,用于简化Java应用中的数据库操作。它允许开发者以面向对象的方式来处理数据库,而不需要直接编写SQL语句。这不仅提高了开发效率,还增强了代码的可维护性和可读性。 ...

    Hibernate 课件 pdf

    - **独立的对象持久层框架**: Hibernate 作为独立的对象持久层框架,可以应用于各种 Java 应用程序中的数据库访问代码,如 DAO 接口的实现类。 - **广泛的应用范围**: Hibernate 可用于任何需要使用 JDBC 的地方,其...

    strute+hibernate写的一个分页

    在Hibernate中,我们可以使用Criteria API或者HQL(Hibernate Query Language)来构造带有分页条件的查询。在描述中提到的“调用方法时只需传一个sql”,可能是将用户提供的基础SQL语句与分页参数结合,生成带有分页...

    Hibernate_DEV_GUIDE.pdf

    2. **SessionFactory**: SessionFactory是线程安全的,它是创建Session的工厂,通常在一个应用中只创建一个SessionFactory实例。 3. **Session**: Session是与数据库交互的主要接口,它代表了一个会话期,提供了...

    hibernate 的各种操作

    这些示例代码适用于初学者了解 Hibernate 的基本用法,但实际应用中还需要注意异常处理、事务管理等细节。此外,对于生产环境的应用程序,建议采用更先进的事务管理方式,如 Spring 的声明式事务管理等。

Global site tag (gtag.js) - Google Analytics