Я довольно новичок в спящем режиме. Так что это может быть простым вопросом для всех вас. У меня есть таблица под названием BuildHistory. В том, что у меня есть столбец с именем Status. Я хочу получить общее количество записей в этой таблице, значение статуса которой - УСПЕХ.Запрос на гибернацию, чтобы получить общее количество записей в столбце с определенным значением
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. –
Я выполнил запрос, как показано ниже. Запрос запроса = session.createQuery ("select sum (case, когда bh.status =:" + sql + ", затем 1 else 0 end) из BuildHistory bh"); Но я получаю исключение транзакции – sreehari