如何用Java表示Oracle Interval [英] How to represent Oracle Interval in Java

查看:98
本文介绍了如何用Java表示Oracle Interval的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将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

推荐答案

选中此

  • 您可以定义间隔休眠用户类型
  • 然后您的实体将只使用Integer:

    1. You can define an Interval Hibernate UserType
    2. Then your Entities will simply use Integer:

    @TypeDef(name="interval", typeClass = Interval.class)
    
    @Type(type = "interval")    
    private Integer interval;
    

  • 内部用户类型是Java整数到SQL INTERVAL适配器.

  • The Internal UserType is the Java Integer to SQL INTERVAL adapter.

    这篇关于如何用Java表示Oracle Interval的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

  • 查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆