おそらく、クエリの一部が実行されなかったことを意味します。トランザクションで多くのクエリがある場合、例:
- トランザクションを開始する
- query1
- query2
- query3
- トランザクションの終了
query2がエラーをスローした場合、query3を実行しようとすると、このエラーが発生します。
- トランザクションを開始する
- query1(成功)
- query2(エラー、問題が発生しました)
- query3(あなたのような例外がスローされます)
- トランザクションの終了
query2からスローされた例外を処理し、処理する必要があります。ユーザーにエラーを表示し、トランザクションをロールバックします。query3を実行しようとしないでください。
こちらもご覧ください: http://www.faqs.org/docs/ppbook/x15040 .htm
更新
取引を完了するには:
List object = null;
try {
org.hibernate.Transaction tx = session.beginTransaction();
try {
Query q = session.createQuery("from Table where lower(translatedText) like lower('%" + term + "%') or lower(translatedAscii) like lower('%" + term + "%') or lower(originalAscii) like lower('%" + term + "%')");
object = (List<Table>) q.list();
} catch (Exception e) {
e.printStackTrace();
} finally {
//You can safely rollback here because you are not changing anything in the DB.
//If you change something, you should commit transaction at the end of try block,
//and here check if it is still active and rollback if it is.
tx.rollback();
}
return object;
} catch (HibernateException e) {
throw new RuntimeException("Could not begin transaction");
}