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

HIbernate 的时间戳比较

阅读更多
原文http://hi.baidu.com/mwm2007/blog/item/068271668924b226ab184cd0.html



hibernate很大的一个特点就是屏蔽了数据库的差异,使用了hibernate就应该尽量HQL来操作数据库(除非不得不用数据库本身的一些特性),而对于时间类型的比较hibernate也是支持的。HQL:     and acceptDate<=:end 用一个时间类型来替换参数end:query.setDate("end",endDate);顺便在提一个问题,我们经常碰到查询从A(起始时期)到B(结束日期)的纪录。如果数据库中字段类型为timestamp,那么查询2005-11-23到2005-11-23的纪录时不会出现2005-11-23那一天的纪录,哪怕你的比较符号用的是>=和<=;因为数据库中的2005-11-23的纪录是这样的格式2005-11-23 15:35:48:253,而query.setDate设置一个时间参数进去,他是用这个时间比较的2005-11-23 00:00:00 000,所以因该用query.setTimeStamp("end",endDate);如果从view层取到的date不包含后面的time信息,最好                 endDate.setHours(23);
                 endDate.setMinutes(59);
                 endDate.setSeconds(59);对开始时间startDate.setHours(0)startDate.setMinutes(0);
startDate.setSeconds(0);这样就是查询 A-0:0:0 到 B-23:59:59时间段的数据.



该文中Date的方法都是过期的..寻找不过期方法..
分享到:
评论

相关推荐

    时间戳实例 绝对好使 hibernate全自动实现时间戳

    例如,在分布式系统中,时间戳可以用来解决CAP理论中的冲突问题,通过比较节点间的时间戳来决定哪个操作最先发生。 在实际开发中,我们还需要注意时区的问题,因为不同的系统可能会有不同的默认时区设置。因此,...

    Hibernate-extensions 完整安装包

    Hibernate-Extensions是对基本Hibernate功能的补充,它提供了一些额外的特性,如延迟加载策略、生成SQL日志、实体监听器、时间戳更新等。这些扩展使得开发者能够更加灵活地处理数据库操作,同时保持代码的整洁和可...

    基于hibernate的简单留言本

    1. **JDBC与Hibernate比较**: Hibernate通过ORM简化了JDBC的繁琐操作,如手动编译SQL、设置参数、处理结果集等。 2. **懒加载与立即加载**: Hibernate提供了懒加载机制,只在需要时加载关联对象,提高性能。但需...

    hibernate注册功能的实现

    在这个实例中,我们将深入探讨如何利用这两个框架实现用户注册功能,即向数据库中插入一条新的用户记录,同时处理时间戳字段。 首先,让我们了解一下Struts和Hibernate。Struts是一个基于MVC(模型-视图-控制器)...

    hibernate源码分析过程

    数据版本并发性控制可以使用版本、时间戳等方式来控制并发访问。 集合映射 Hibernate 的集合映射可以将一个对象的集合属性映射到数据库中。集合映射可以是 set、list、map、bag、array 等。级联策略控制可以控制...

    Hibernate Developer Guide

    文档详细讲解了乐观锁和悲观锁的实现,包括版本号和时间戳机制。 ### 缓存 缓存是Hibernate中一个关键特性,用来减少数据库的访问频率,提高性能。文档将讨论查询缓存、查询缓存区域以及二级缓存提供者。 从上述...

    Hibernate项目开发宝典源码(完整版)

    7. **message**:消息系统,可能涉及到了异步处理、缓存策略、时间戳更新等复杂功能,这将帮助读者理解如何在实际项目中优化Hibernate的使用。 8. **order**:订单系统,可能包含订单创建、支付、取消等业务逻辑,...

    hibernate源码

    通过版本号或时间戳等方式实现,适合读多写少的场景。 6. **第二级缓存**: `hibene_cache_level_2`涉及到Hibernate的第二级缓存。第二级缓存是进程级别的,可跨会话共享,可以大大提高应用的响应速度。它允许用户...

    Hibernate 事务和并发控制

    乐观锁假设并发冲突很少发生,通常在数据更新时检查版本号或时间戳,如果发现有其他事务在此期间修改了数据,就回滚事务。在Hibernate中,可以通过在实体类的属性上添加@Version注解来实现乐观锁。 悲观锁则是在...

    struts与hibernate实现文件的上传与动态下载

    Struts和Hibernate是两个在Java Web开发中常用的框架。Struts主要用于MVC(Model-View-Controller)架构,提供了一种组织应用程序的方式,而Hibernate是一个对象关系映射(ORM)工具,用于简化数据库操作。本篇文章...

    Hibernate5用户手册中文版

    8. 锁章节,讨论了Hibernate提供的乐观锁和悲观锁的实现,包括使用版本号、时间戳、LockMode类等方法来控制并发访问。 9. Fetching(抓取)章节,说明了如何配置和应用不同的抓取策略来优化数据库访问和提升性能。...

    Hibernate参考文档(CHM).

    8. **其他高级特性**:包括实体的继承策略、多态性支持、集合的特殊类型、时间戳和版本控制等,这些都是在实际开发中可能用到的功能。 通过阅读《Hibernate参考文档》,开发者不仅可以掌握Hibernate的基础用法,还...

    hibernate 2

    2. 使用时间戳,Hibernate会在数据库表中增加一个字段,用来记录记录最后修改的时间戳。 此外,文档还会介绍Hibernate的其他核心特性,如缓存机制(一级缓存和二级缓存)、延迟加载和立即加载、HQL(Hibernate ...

    Hibernate悲观锁和乐观锁的实现

    在Hibernate源码中,乐观锁的实现主要依赖于`AbstractEntityPersister`类的`checkOptimisticLocking()`方法,它会比较当前对象的版本信息与数据库中的版本信息,如果不同则抛出`StaleObjectStateException`异常。...

    hibernate annotation 中文文档

    - `@Cache`: 配置缓存区域和策略,如读写策略、时间戳等。 8. **转换器与自定义类型** - `@Converter`: 自定义类型转换,用于处理Hibernate默认无法处理的数据类型。 - `@Type`: 使用自定义的Hibernate类型,如...

    Hibernate update问题

    乐观锁通常通过版本字段或时间戳实现,当尝试更新的对象在数据库中的版本与内存中不一致时,更新操作会失败。悲观锁则在读取数据时立即锁定,直到事务结束才释放。选择哪种锁策略取决于应用的并发需求和性能考虑。 ...

    Struts+Hibernate电子留言系统

    4. **电子留言系统的实现**:MessageSys可能包含多个组成部分,如Message实体类表示一条留言,包含用户ID、留言内容、时间戳等字段;MessageDAO(Data Access Object)接口和其实现类用于处理留言的增删改查操作;...

    Hibernate中,利用版本管理机制来控制事务并发

    1. 版本号原理:Hibernate使用乐观锁策略,即假定在正常情况下,同一时间只有一个用户修改数据,当多个用户同时修改时,通过比较版本号判断是否有冲突。每个被管理的对象都有一个版本属性,每次更新对象时,...

    运用了struts+hibernate的购物车

    在实际开发中,"购物车带时间"这个文件可能包含购物车操作记录的时间戳,用于跟踪用户每次操作的时间,例如添加商品的时间,或者修改购物车内容的时间。这样的设计有助于分析用户行为,优化用户体验,或者实现一些...

Global site tag (gtag.js) - Google Analytics