`
絜矩书生
  • 浏览: 8760 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

hibernate手写sql时获取日期差的操作

阅读更多
hibernate手写sql获取日期差是个很麻烦的问题,一般人都会用hibernate手册中所提到的CURRENT_DATE()和CURRENT_TIME()。但是没有日期运算的方法,查找Hibernate的参考手册,得知HQL提供了year(),month(),day(),hour(),,minute()、second()的函数,这些函数分别取得年份、月份、日期、小时、分钟和秒数。

于是比较聪明的方法就是(year(CURRENT_DATE())*365*24+month(CURRENT_DATE())*30*24+day(CURRENT_DATE())*24+hour(CURRENT_TIME())+8+minute(CURRENT_TIME())/60) - (year(lastRemindDate)*365*24+month(lastRemindDate)*30*24+day(lastRemindDate)*24+hour(lastRemindDate)+minute(lastRemindDate)/60)

不过这样写既复杂性高费时,而且不准确。我想到了一个比较好用的方法,就是借助MySQL的DATEDIFF(date1,date2)函数,返回两个日期间的天数。没错,这样写在hql里是可以的。
分享到:
评论

相关推荐

    第一个手写Hibernate

    Hibernate是一个开源的ORM框架,它允许开发者用面向对象的方式处理数据,将Java类映射到数据库表,避免了繁琐的SQL操作。它的主要优点包括:减轻了数据库访问的复杂性,提高了开发效率,支持跨数据库平台,提供了...

    手写Hibernate 步骤(图,文字)以及原因

    通过手写Hibernate,开发者能够深入理解其工作原理,提高编程效率,并且更好地掌握数据库操作的控制权。以下是对手写Hibernate步骤的详细解释: 1. **初始化**: - 首先,你需要配置`hibernate.cfg.xml`文件,其中...

    IBATIS 手写的生成工具包括POJO与SQL

    自己写的工具!...如果有愿意一起完善,现在支持POJO 与 SQL的生成 可以自己写一个BASEDAO来完成 HIBERNATE的 增删改 查询那是IBATIS的强项了 只有3个简单的查询! 愿意完善的请加我QQ 81611911可提供源码!

    手写orm

    【标题】:“手写ORM”指的是自己动手实现Object-Relational Mapping(对象关系映射)技术,这是一种在软件开发中将数据库操作与业务逻辑解耦的方法。ORM允许开发者使用面向对象的方式来操作数据库,无需关心底层SQL...

    手写myHibernate的代码(可以直接使用)

    在IT行业中,ORM(Object-Relational Mapping)框架如Hibernate,为开发者提供了便利,使得我们可以用面向对象的方式来操作数据库,而无需过多关注SQL的细节。本篇文章将深入探讨如何手写myHibernate,一个自定义实现...

    hibernate3.5.0官方手册

    阅读这份手册,开发者可以了解到如何有效地利用Hibernate进行数据库操作,减少手写SQL的工作量,提高代码的可维护性。对于初学者来说,它提供了一个清晰的学习路径,从基础到高级,逐步掌握Hibernate的精髓。而对于...

    Hibernate实现原理模拟

    Hibernate是一个开源的ORM框架,它提供了一种在Java应用中持久化对象到关系数据库的方式,通过消除手写SQL和JDBC代码,实现了Java对象和数据库记录之间的映射。Hibernate的核心组件包括配置文件、实体类、映射文件和...

    Hibernate3.3中的lib

    Hibernate是Java领域中一款著名的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作...熟悉这些内容后,可以更高效地利用Hibernate进行数据库操作,减少手写SQL的工作量,提高代码的可维护性和可扩展性。

    hibernate框架基础教程适合新手

    通过阅读`纯手写hibernate.txt`文档,观看`hibernate基础day01.wmv`视频,实践`hibernate-hand`中的示例,你可以逐步掌握Hibernate的基本用法和核心概念。记住,理论学习与实际操作相结合,才能更好地理解和掌握这个...

    Beginning Hibernate, 3rd Edition

    - **简化开发流程**:通过 Hibernate,可以大幅减少手写 SQL 的需求,简化了数据持久层的开发工作。 - **提高开发效率**:提供了一系列的工具和服务,如缓存管理、事务处理等,帮助开发者更高效地构建应用。 - **...

    struts2、hibernate框架

    2. **自动SQL生成**:根据对象操作自动生成对应的SQL语句,减少手写SQL的工作量。 3. **缓存机制**:提供了第一级缓存和第二级缓存,提高了数据访问性能。 4. **延迟加载(Lazy Loading)**:只在需要时加载关联的...

    hibernate模板项目

    Hibernate是Java社区中最受欢迎的ORM框架之一,它提供了一种在Java应用中持久化数据到关系数据库的方式,通过消除手写SQL和JDBC代码,实现了对象和数据库表之间的映射。Hibernate支持多种数据库,如MySQL、Oracle、...

    Hibernate课程大纲

    - **无需SQL**:减少手写SQL的需求,提高开发效率。 - **面向对象**:开发更加面向对象,简化复杂度。 - **高移植性**:容易迁移至不同的数据库系统。 - **透明持久化**:对象可以不需要继承特定类即可被持久化...

    Jdbc 和hibernate

    - Hibernate的查询优化可能不如直接手写的SQL,但在大部分场景下性能是足够的。 5. **何时选择JDBC,何时选择Hibernate**: - 对于简单的小型项目,直接使用JDBC可能更直观且无需引入额外的依赖。 - 对于大型...

    SQL编辑器

    开发者可以创建Statement或PreparedStatement对象来执行SQL,或者使用Hibernate、MyBatis等ORM框架简化数据库操作。转换SQL到JAVA代码时,会涉及创建Connection对象,设置SQL语句,执行查询并处理ResultSet。 在...

    hibernate-4.2.6-Final

    4.2.6版本的JPQL支持更丰富的表达式,Criteria API则提供了类型安全的、可链式的查询构造,降低了因手写SQL引发的错误可能。 四、事务管理与缓存策略 Hibernate 4.2.6提供了完善的事务管理和缓存策略。它支持JTA...

    将Hibernate和iBatis两Orm框架整合,取长补短

    在Java开发领域,ORM(Object-Relational Mapping)框架如Hibernate和iBatis是常见的数据库操作...这种做法既保留了ORM框架的便捷性,又发挥了手写SQL的优势,使得开发者可以根据具体需求选择最合适的数据访问方式。

    Hibernate优化

    1. **手写SQL**:在复杂查询或性能关键点,可以考虑使用原生SQL,配合`@NamedNativeQuery`提高执行效率。 2. **避免使用HQL中的子查询**:子查询可能导致性能下降,尽可能用JOIN替代。 六、日志与监控 1. **开启...

    STRUTS——SQL添加删除

    - 使用ORM框架如Hibernate或MyBatis,可以更方便地进行SQL操作,减少手写SQL语句的错误。 - 遵循DRY(Don't Repeat Yourself)原则,避免代码重复,提高代码复用性。 - 保持代码整洁,遵循编码规范,使代码易于...

Global site tag (gtag.js) - Google Analytics