Можете ли вы дать мне пример кода в java, как правильно использовать сеанс hibernate? Я хочу, чтобы один класс контроллера обрабатывал все операции hibernate (выборка, обновление, удаление).Как использовать обработку сеанса спящего режима
private void addPersonToEvent(Long personId, Long eventId) {
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Person aPerson = (Person) session.load(Person.class, personId);
Event anEvent = (Event) session.load(Event.class, eventId);
aPerson.getEvents().add(anEvent);
session.getTransaction().commit();
}
Это правильный путь? как я могу справиться с исключениями и откатом правильно, чтобы избежать ошибок пула соединений, может, если соединение было закрыто правильно после исключения?
Большое спасибо
попытаться поймать исключение .. если исключение произойдет, то transaction.rollback – nachokk
Если бы это было документально ... ждать! http://docs.jboss.org/hibernate/orm/4.2/manual/en-US/html_single/#transactions-demarcation-nonmanaged –
после этого session.close() в блоке finally? – Benni