Что происходит, я выполняю чтение некоторых записей, скажем, Car, где color = red, и он возвращает 10 автомобилей.Затем я перебираю эти 10 автомобилей и обновляю дату в этом автомобильном объекте, т.е. car.setDate (01.05.2010).Затем я выполняю еще одно чтение из Автомобили, где цвет = зеленый.У меня включено ведение журнала sql, и я заметил, что когда я вызываю query.list (), он фактически выводит некоторые операторы обновления в таблицу Cars, и в итоге я получаю тайм-аут ожидания блокировки.Также обратите внимание, что все это делается в одной транзакции базы данных, поэтому я могу понять тайм-аут ожидания блокировки - похоже, у меня есть блокировка таблицы, из которой я читаю, и в этой же транзакции я пытаюсь ее обновитьпрежде чем я отпущу замок на столе.Но похоже, что не следует пытаться запустить sql для обновления этих записей до конца транзакции, когда я вызываю commit?Все это использует HQL Hibernate для выполнения операций чтения.Я не призываю ничего делать напрямую, я просто делаю car.setDate.