我将Java 7与Hibernate 4结合使用。
想要使用oracle Interval数据类型(http://psoug.org/definition/INTERVAL.htm)来表示一定天数的间隔。
想知道用于映射此Oracle Interval对象的Java类型。
我想使用标准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
检查这个SO答案:
然后,您的实体将只使用Integer:
@TypeDef(name="interval", typeClass = Interval.class)
@Type(type = "interval")
private Integer interval;
内部用户类型是Java整数到SQL INTERVAL适配器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句