1
我對hibernate很新穎。所以這對你們來說可能是一個簡單的問題。 我有一個名爲BuildHistory的表。在這裏我有一個名字爲Status的列。 我想獲得狀態值爲SUCCESS的表中項目的總數。休眠查詢獲取具有特定值的列中的條目總數
UPDATE
這是我的方法,我用得到的計數。
public Object countStatus(String sql){
Session session = HibernateServeletContextListner.sessionFactory_Dummy.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
Query query = session.createQuery("select sum(case when bh.status = :"+sql+" then 1 else 0 end) from BuildHistory bh");
tx.commit();
// return query.uniqueResult();
} catch (HibernateException e) {
if (tx!=null) tx.rollback();
e.printStackTrace();
} finally {
session.close();
}
return 0;
}
那麼它會返回什麼?一個計數(整數)還是一個列表? – sreehari
@sreehari這應該返回一個計數,您應該安全地將其視爲Java整數。 –
我運行了下面的查詢。 Query query = session.createQuery(「Build sum(case when when bh.status =:」+ sql +「then 1 else 0 end)from BuildHistory bh」);但我收到一筆交易異常 – sreehari