1.java.util.Date和java.sql.Date的使用
在JPA中,通常会使用java.util.Date作为实体类中时间字段的类型,对应的属性的获取时,需要做如下的声明:
@Temporal(value = TemporalType.TIMESTAMP)
但是这么使用有个问题,从数据库中取出来的数据直接展示到页面上,显示的数据格式如下,不能满足实际的需要。
Tue Jun 09 00:00:00 CST 2009
当然,可以格式化处理时间,例如:Tue Jun 09 00:00:00 CST 2009,new java.sql.Date(date.getTime());
推荐方法:
实体类中的时间字段的类型,定义为java.sql.Date类型较好,省去了为了前端显示而做的格式转换工作。
2.时间字段的查询
应用了JPA(TopLink)的系统中,对时间字段作查询,需要注意的一点是:
JPA(TopLink)不支持oracle内置函数to_date('2009-06-15','YYYY-MM-DD')。
解决办法非常简单:
将时间类型参数看做字符串类型的数据查询即可。例如:dateColumn = '2009-06-11'
分享到:
相关推荐
在使用TopLink JPA时,您可以使用注解配置JPA实体的行为。注解是一种简单、表达性强的在Java源代码上添加元数据的方法,这些元数据在编译时会被嵌入到对应的Java类文件中,由TopLink JPA在运行时解释以管理JPA行为。...
- **多态性(Polymorphism)**: 支持不同类型的实体在同一查询结果中。 - **实体图形(Entity Graph)**: 控制加载特定的实体属性集。 - **转换(Transformation)**: 对象到对象的映射,如DTO转换。 通过这些学习...
- **降低耦合度**: 使用 JPA 开发的应用程序可以在不改变业务逻辑代码的情况下,轻松地在不同的 JPA 实现(如 Hibernate、TopLink 等)之间迁移。 #### 四、JPA开发环境与全局事务介绍 - **开发环境搭建**: - 配置...
JPA是由EJB 3.0软件专家小组开发的,作为JSR-220规范的一部分,但它的使用范围并不局限于EJB 3.0环境,也可以应用于Web应用甚至桌面应用中。 目前,主流的ORM框架如Hibernate 3.2、TopLink 10.1.3以及OpenJPA等都...
自2006年随Java EE 5发布以来,JPA已经成为Java企业级开发中的一个关键组成部分,并且也支持在Java SE环境中使用。 #### 二、JPA的组成部分 JPA由三个主要部分组成: 1. **Java Persistence API**:定义了用于...
3. **查询语言**:定义了一种面向对象的查询语言,使得开发人员可以使用接近自然语言的语法来编写查询,而不是直接写SQL语句。这有助于提高代码的可读性和可维护性。 #### 实体对象设计示例 实体对象是JPA的核心...
H2支持多种日期和时间类型,如DATE、TIME、TIMESTAMP等,并提供了相关的函数进行处理。 ### 使用H2管理系统 H2管理系统是一个基于Web的界面,用于管理和操作H2数据库。它可以通过JDBC连接任何支持JDBC的数据库。在...