如何使用Hibernate从Oracle数据库获取日期和时间?

时间:2017-11-30 10:26:55

标签: java hibernate date

我已经获得了一些代码可供使用。我需要修改现有代码以返回一个额外的列。使用SQLDeveloper工具,我可以看到一个示例记录(通知日期和时间信息):

30-NOV-17 15:54:00

我已经获得的代码执行以下操作:

// Create a Hibernate query (Oracle SQL query)
Query query = session.createSQLQuery(<NATIVE_SQL_QUERY_HERE>);
List<Object[]> rawDataRows = query.list();

if (rawDataRows != null) {
    for(Object[] rawDataRow : rawDataRows) {
        // I am trying to get the Date AND Time here
        Timestamp ts = (Timestamp) rawDataRow[7];
    }
}

问题是当我尝试这种方法时出现错误(无法将java.sql.Date强制转换为时间戳)。

当我在没有强制转换的情况下访问数据时(只是获取Date对象中的数据),我没有得到时间信息。我需要同时拥有。

到目前为止,我所尝试过的任何内容都没有效果 - 其他帖子有类似的问题,但它们并不完全相同。

非常感谢任何建议/建议 - 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用此代码:

...

Calendar calendar = Calendar.getInstance();
calendar.setTime(rawDataRow[7]);
Timestamp ts =  new Timestamp(calendar.getTimeInMillis());

...