2013-10-11 4 views
1

Я работаю над приложением JSF, в котором я использую Hibernate в качестве инструмента отображения ORM.Значения не обновляются в запросе на обновление hibernate

Проблема: Я использую MySQL как базы данных, так что я сложение Дейтов в Mysql через спящий режим.

Теперь я пытаюсь обновить значение базы данных из класса компонента

Когда я пытаюсь обновить его запрос будет выполнен успешно, но значения обновленные значения не будут добавлены в базу данных

Мой Bean Код класса :

Session session=HibernateUtil.getSessionFactory().openSession(); 
Query hQuery=session.createQuery("update Record set status='Present' where refId=100"); 
System.out.println("Result : "+hQuery.executeUpdate()); 

выше код для обновления значений базы данных из таблицы «записи», ее не показывает отсутствие ошибки в продукции, но значения не обновляются в базе данных.

Hibernate : update sample.record set Status='Present' where RefId=100 
Result : 9 

В выше результата отображается в консоли для showSql

Любые предложения будут очень благодарны ...

+0

У вас проверили значение в базе данных, если оно обновлено ?? – vjamit

+0

@ vjamit..Я размещаю этот вопрос только по этой причине .. Значения не обновляются в базе данных – kark

+1

r u совершает ур транзакции ?? – vjamit

ответ

4

Я сделал ошибку, которая в совершении сделки гибернации ...

ОБНОВЛЕНО Bean Class

 Transaction tx=null; 
     Session hSession=HibernateUtil.getSessionFactory().openSession(); 
     Query hQuery=hSession.createQuery("update Leaverecord set status='HR' where refId="+lrb.getRefId()); 
     System.out.println("Result : "+hQuery.executeUpdate()); 
     tx=hSession.beginTransaction(); 
     tx.commit(); 
     hSession.close(); 

Выход

Hibernate: update sample.record set Status='Present' where RefId=100 
Result : 9 

Ошибка, которую я сделал, что я не использовал транзакцию в запросе на обновление hibernate, я думал, что запрос транзакции только для вставки Hibernate.

Теперь он отлично работает ...

0

вы сделать этот метод транзакционных? например: добавление @Transactional аннотаций, если вы используете springframework

+0

Я не использую сопоставление аннотаций. Я использую XML-сопоставление. – kark

+1

вы уверены, что транзакция привязана к базе данных? проверьте [link] (http://stackoverflow.com/questions/14622962/what-is-transaction-commit-in-hibernate). – David

+0

жаль, что это моя ошибка .. я не начал свою транзакцию ... – kark

Смежные вопросы