如何用Java表示Oracle Interval [英] How to represent Oracle Interval in Java
问题描述
我正在将Java 7与hibernate 4一起使用.
I'm using Java 7 with hibernate 4.
要使用oracle Interval数据类型( http://psoug.org/definition/INTERVAL.htm )代表一定天数的间隔.
Want to use oracle Interval data type (http://psoug.org/definition/INTERVAL.htm) to represent a interval of a certain number of days.
想知道要使用什么Java类型来映射此Oracle Interval对象.
Wondering what Java Type to use to map this Oracle Interval Object.
我要使用标准Java对象,而不要使用本文档中提到的任何oracle.sql.*对象
I would like to use standard Java objects and not any oracle.sql.* objects as mentioned in this document http://docs.oracle.com/cd/B28359_01/java.111/b31224/datacc.htm.
这是我正在玩的桌子:
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是可以的,但是我想获取它是某种日期对象,因此我不必自己解析它.
I know mapping it to Java String would work, but I would like to get it is some sort of date object so I don't have to parse it myself.
http://objectmix.com/jdbc- java/41781-oracle10g-oracle-sql-interval-type.html
我还想避免使用特定于oracle的数据类型,例如oracle.sql.INTERVALS
I would also like to avoid using oracle specific data types such as oracle.sql.INTERVALS