有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我得到了一些代码来处理。我需要修改现有代码以返回一个额外的列。使用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转换为时间戳)

当我在没有强制转换的情况下访问数据时(只获取日期对象中的数据),我不会获取时间信息。我需要两者兼得

到目前为止,我尝试过的都没有奏效——其他帖子也有类似的问题,但它们并不完全相同

非常感谢您的任何建议-谢谢


共 (1) 个答案

  1. # 1 楼答案

    您可以使用以下代码:

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