从存储过程的输出读取DateTime到Java对象

问题描述 投票:0回答:1

我有一个简单的存储过程 -

 ALTER PROCEDURE [dbo].[GetErrorandTimestampDetails]
@IncidentID INT,
@Errorcount INT OUTPUT,
@timestamp DATETIME OUTPUT
AS
BEGIN
    SELECT @Errorcount=COUNT(1) 
    FROM IncErrorInfo
    WHERE IncidentID=@IncidentID

    SELECT @timestamp=[Date Added]
    FROM Incident_Info
    WHERE ID=@IncidentID    
END

要从JPA代码访问它,我写了 -

import java.sql.Date;
.
.
.
StoredProcedureQuery storedProcedure = em.createStoredProcedureQuery("dbo.GetErrorandTimestampDetails")
            .registerStoredProcedureParameter("IncidentID", Integer.class, ParameterMode.IN)
            .registerStoredProcedureParameter("Errorcount", Integer.class, ParameterMode.OUT)
            .registerStoredProcedureParameter("timestamp", Date.class, ParameterMode.OUT)
            .setParameter("IncidentID", incidentID);

    boolean status = storedProcedure.execute();

    HashMap returnVal = new HashMap<String,Object>();
    returnVal.put("ErrorCount",(Integer)storedProcedure.getOutputParameterValue("Errorcount"));
    returnVal.put("TimeStamp", (Date)storedProcedure.getOutputParameterValue("timestamp"));
    return returnVal;

Date对象仅包含没有任何时间信息的日期。我如何获得时间信息?是否有DateTime对象来存储它?

请帮忙。

java datetime jpa stored-procedures
1个回答
0
投票

你要找的类型是java.sql.Timestamp

© www.soinside.com 2019 - 2024. All rights reserved.