英文:
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<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();
//Calling GETEMPDATA PostgreSQL Stored Procedure
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;
}
It returns data when i run it in this way :
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();
//Calling GETEMPDATA PostgreSQL Stored Procedure
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;
}
专注分享java语言的经验与见解,让所有开发者获益!
评论