无法在hibernate中运行sql查询

slmsl1lt  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(321)

此代码用于显示按月销售的天数

public long getCountsOfQuery(String condition, Class outputclass) throws Exception {
  Session session = BuilderSession.getSession();
  return Long.parseLong(session.createSQLQuery(condition).uniqueResult().toString());
}

我的jsp文件是:

<td><%= ho.getCountsOfQuery("select COUNT(*) from store_sales where date like '"+ fd.getPartDate(FormatDate.PART_YEAR)+fd.getPartDate(FormatDate.PART_MONTH)+"01"+"' ", object.getClass())  %></td>
<td><%= ho.getCountsOfQuery("select COUNT(*) from store_sales where date like '"+ fd.getPartDate(FormatDate.PART_YEAR)+fd.getPartDate(FormatDate.PART_MONTH)+"02"+"' ", object.getClass())  %></td>
....
<td><%= ho.getCountsOfQuery("select COUNT(*) from store_sales where date like '"+ fd.getPartDate(FormatDate.PART_YEAR)+fd.getPartDate(FormatDate.PART_MONTH)+"31"+"' ", object.getClass())  %></td>

两次运行后,无法在hibernate中响应查询。
而且,在运行时不会发生错误。请帮帮我。

eqfvzcg8

eqfvzcg81#

这是因为你没有释放连接。

Session session = BuilderSession.getSession();
  Long result=Long.parseLong(session.createSQLQuery(condition).uniqueResult().toString());
 session.close();
return result;

显然,你应该用try-catch和close-in-finally-block来 Package 它,但一般来说,它显示了你所缺少的东西。

相关问题