Ленивая загрузка включена по умолчанию и должна реально работать.Если возникнет проблема, например, если он не сможет сгенерировать прокси для класса B, он будет жаловаться при создании фабрики сеансов.
Вы уверены, что запросы для B выполняются самим запросом, а не для последующего доступа к A?
Вы можете оптимизировать доступ к B двумя способами: получить их вместе сА в одном запросе.(Я не знаю свободно, это способ xml для его настройки:)
<many-to-one fetch="join" ...>
Это имеет некоторые проблемы при использовании со списками и может также сильно взорвать ваш запрос.Это, конечно, не ленивая загрузка.
Другая, очень приятная и мощная оптимизация - это пакетная загрузка.Он позволяет извлекать экземпляры в отдельных запросах, но выбирает сразу несколько из них.
<class name="B" batch-size="20" ...>
Это приведет к одновременному извлечению 20 B в одном запросе.Также доступно для списков:
<one-to-many fetch-size="20" ...>