Блокирует ли спящий режим основной поток?

Я использую Hibernate вместе с Apache Mina для создания многопользовательского игрового сервера. У меня есть отдельный класс клиента для каждого (apache mina) клиента, отдельная транзакция и сеанс.
Итак, вопрос в следующем:

Блокирует ли hibernate мой основной поток, когда я сохраняю свою сущность в базе данных или выполняю огромный запрос select?

1 ответ

Решение

Да, ваши вызовы JDBC являются синхронными, поэтому они будут блокироваться до тех пор, пока что-то не будет возвращено из базы данных, это не относится к Hibernate.

Вы можете создать отдельный поток и обрабатывать ваши действия с БД, используя это. Будьте осторожны, хотя у вас возникнут проблемы с разделением сущностей между потоками, такими как извлечение ленивых отношений.

Другие вопросы по тегам