我正在使用Java 7和Hibernate 4。
希望使用Oracle Interval数据类型(http://psoug.org/definition/INTERVAL.htm)来表示一定数量天数的间隔。
不知道要使用什么Java类型来映射此Oracle Interval对象。
我想使用标准Java对象而不是文档http://docs.oracle.com/cd/B28359_01/java.111/b31224/datacc.htm中提到的任何oracle.sql.*对象。
这是我操作的表:
CREATE TABLE "MyTest" (
"ID" NUMBER(14,0) NOT NULL
"DELIVERY_PERIOD" INTERVAL DAY (3) TO SECOND (6),
CONSTRAINT "MYTEST_PK" PRIMARY KEY ("ID"));
编辑
我后来尝试了一下
@Temporal(TemporalType.TIME)
private java.util.Date deliveryPeriod;
收到错误信息:
Caused by: java.sql.SQLException: Invalid column type: getTime not implemented for class oracle.jdbc.driver.T4CIntervaldsAccessor
编辑2
http://docs.oracle.com/cd/B12037_01/java.101/b10983/datamap.htm
我知道将其映射到Java String会起作用,但我想得到某种日期对象,这样我就不必自己解析它了。
http://objectmix.com/jdbc-java/41781-oracle10g-oracle-sql-interval-type.html
我也想避免使用oracle特定的数据类型,例如oracle.sql.INTERVALS。