0

我正在使用 Hibernate 3.2.1 和 Oracle 10g 作为后端使用 Spring 3.0.2。在 Oracle 数据库表中,有一个数据类型为 的字段Date。此Date类型字段在 Hibernate (POJO) 中映射java.util.Date如下。

private Date discountStartDate;

在向 Oracle 表中插入或更新数据时,我提供了一个java.lang.String类似这样的日期类型08/15/2012 15:08:13。完全没有问题。一切正常,但由于 Oracle 日期数据类型(据我所知)总是java.util.Date与 Hibernate 实体映射,我不能使用其他 Java API,如 Calendar,我必须使用类的不推荐使用的构造函数Date来处理 Hibernate,如下所示.

Discount obj=new Discount();
date=new Date(request.getParameter("txtDiscountStartDate"));
obj.setDiscountStartDate(date);

应避免此类弃用的功能。有没有办法在 Hibernate 中绕过这个已弃用的Date ("StringDate") 构造函数?

4

1 回答 1

3

不,那是错误的。

您应该将其解析StringDateusing DateFormatand SimpleDateFormat

是一个例子。

这是另一个,因为这对您来说似乎很困难:

DateFormat formatter = new SimpleDateFormat("yyyy-MMM-dd");
formatter.setLenient(false);
String discountDateAsString = request.getParameter("txtDiscountStartDate");
Date discountDate = formatter.parse(discountDateAsString);
于 2012-08-15T10:14:09.067 回答