У меня мало проблем с многошаговой трансформацией в спящем режиме.Это то, что я делаю.
Один из моих методов DAO
- Создает новую запись в таблице A и получает сгенерированный Oracle первичный ключ.
- Обновляет aстрока в таблице B с первичным ключом, полученным на шаге 1
Код выглядит примерно так:
@Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
public Object myDAOMethos(...){
....
getHibernateTemplate().execute(
new HibernateCallback<Long>() {
public Long doInHibernate(Session session)
throws HibernateException, SQLException {
// Create a new record in table A
session.save(objA);
final long pKey = objA.getId();
// Update the row in table B
org.hibernate.Query query = session
.getNamedQuery("updateBQuery").setLong("idB",pKey...
query.executeUpdate();
}
}
return true;
}
});
}
Метод связан с преобразованием.
Моя проблема: все работает нормально, когда я запускаю этот код на Tomcat.Но когда я пытаюсь выполнить для этого тестовый пример junit, обновление таблицы B никогда не происходит.Хотя я вижу обновление SQL на выходе консоли (hibernate.show_sql = true).Никаких исключений тоже!только вставка имеет место, и это все.
Не уверен, что здесь происходит!есть идеи!?
С уважением, -J