MySqlQuery:
select count(holiday_id)
from holidays
where holiday_type_id=2 and DATEDIFF('2016-8-9',curdate())>=20JavaQuery:
Query OptionalholidaysQuery =
manager.createNativeQuery("select count(holiday_id) from Parabola.holidays"
+ " where holiday_type_id=2 and DATEDIFF(:startdate,curdate())>=20");
OptionalholidaysQuery.setParameter("startdate", "2016-8-9");
List<Integer> optionalholidays = (List<Integer>) OptionalholidaysQuery.getResultList();
System.out.println("Optional:" + OptionalholidaysQuery);给定的MySql查询运行良好,并在通过工作台执行数据时返回数据。
我已经在Java代码中应用了它,但是它给了我结果
Optional:org.hibernate.query.internal.NativeQueryImpl@220ab636
请指出错误并建议改正。
发布于 2016-07-19 09:11:16
似乎您正在打印您的queryHolder,而不是像下面这样打印代码的results.Change
你的版本
List<Integer> optionalholidays = (List<Integer>) OptionalholidaysQuery.getResultList();
System.out.println("Optional:"+OptionalholidaysQuery);像这样更新。
List<Integer> optionalholidays = (List<Integer>) OptionalholidaysQuery.getResultList();
for(final Integer optionalHoldiday : optionalHolidays){
System.out.println("Optional:"+optionalholiday );
}这将打印您的可选假日一个接一个。如果你对此有任何疑问,请告诉我。
https://stackoverflow.com/questions/38453920
复制相似问题