Hibernate查询在调用存储过程时返回空值。

huangapple 未分类评论51阅读模式
英文:

Hibernate Query returns null value when stored procedure is called

问题

public List<EmployeeAttendanceVO> getdata(String ListempIdString) {
    String startDayTime = "2020-05-22 00:00:00.000";
    String endDayTime = "2020-05-22 23:59:59.999";
    String ListempIdString = "'P1200','P1201','P1202','P1203','P1204','P1205'";
    Session session = sessionFactory.getCurrentSession();

    // 调用 GETEMPDATA PostgreSQL 存储过程
    SQLQuery query = session.createSQLQuery("SELECT * FROM GETEMPDATA (ARRAY[:ListempIdString], :startDayTime , :endDayTime)");

    query.setString("ListempIdString", ListempIdString);
    query.setString("startDayTime", startDayTime);
    query.setString("endDayTime", endDayTime);
    query.addEntity(EmployeeAttendanceVO.class);
    List<EmployeeAttendanceVO> queryResult = query.list();

    return queryResult;
}
public List<EmployeeAttendanceVO> getdata(String ListempIdString) {
    String startDayTime = "2020-05-22 00:00:00.000";
    String endDayTime = "2020-05-22 23:59:59.999";
    Session session = sessionFactory.getCurrentSession();

    // 调用 GETEMPDATA PostgreSQL 存储过程
    SQLQuery query = session.createSQLQuery("SELECT * FROM GETEMPDATA (ARRAY['P1200','P1201','P1202','P1203','P1204','P1205'], :startDayTime , :endDayTime)");

    query.setString("startDayTime", startDayTime);
    query.setString("endDayTime", endDayTime);
    query.addEntity(EmployeeAttendanceVO.class);
    List<EmployeeAttendanceVO> queryResult = query.list();

    return queryResult;
}
英文:

I am trying to call postgreSQL stored procedure to retrieve details of employee .
When i run this method , it returns null value .

public List&lt;EmployeeAttendanceVO&gt; getdata(String ListempIdString)
{

String startDayTime = &quot;2020-05-22 00:00:00.000&quot;;
String endDayTime = &quot;2020-05-22 23:59:59.999&quot;;
String ListempIdString = &quot;&#39;P1200&#39;,P1201&#39;,P1202&#39;,P1203&#39;,P1204&#39;,P1205&#39;&quot;;
Session session = sessionFactory.getCurrentSession();

//Calling GETEMPDATA PostgreSQL Stored Procedure 
SQLQuery query = session.createSQLQuery(&quot;SELECT * FROM GETEMPDATA (ARRAY[:ListempIdString], :startDayTime , :endDayTime)&quot;);

query.setString(&quot;ListempIdString&quot;, ListempIdString);
query.setString(&quot;startDayTime&quot;,startDayTime);
query.setString(&quot;endDayTime&quot;, endDayTime);
query.addEntity(EmployeeAttendanceVO.class);
List&lt;EmployeeAttendanceVO&gt; queryResult = query.list();

return queryResult;

 }

It returns data when i run it in this way :

public List&lt;EmployeeAttendanceVO&gt; getdata(String ListempIdString)
     {

String startDayTime = &quot;2020-05-22 00:00:00.000&quot;;
String endDayTime = &quot;2020-05-22 23:59:59.999&quot;;
Session session = sessionFactory.getCurrentSession();

//Calling GETEMPDATA PostgreSQL Stored Procedure
SQLQuery query = session.createSQLQuery(&quot;SELECT * FROM GETEMPDATA (ARRAY[&#39;P1200&#39;,P1201&#39;,P1202&#39;,P1203&#39;,P1204&#39;,P1205&#39;], :startDayTime , :endDayTime)&quot;);

query.setString(&quot;startDayTime&quot;,startDayTime);
query.setString(&quot;endDayTime&quot;, endDayTime);
query.addEntity(EmployeeAttendanceVO.class);
List&lt;EmployeeAttendanceVO&gt; queryResult = query.list();

return queryResult;

      }

huangapple
  • 本文由 发表于 2020年5月29日 19:27:32
  • 转载请务必保留本文链接:https://java.coder-hub.com/62084890.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定