Проблема в том, что «load» загрузит прокси объекта и фактически не попадет в базу данных.Однако, если объект уже был загружен (и заполнен), т. Е. В кеше уровня 1, он будет предоставлять этот экземпляр.
Когда вы используете нагрузку, он будет фактически попадать в базу данных только тогда, когда это абсолютно необходимо, то есть когдавы запрашиваете одно из полей объекта.
Get с другой стороны действительно попадет в базу данных.
Для ваших целей я бы порекомендовал, используете ли вы load или убедитесь, чтообъект заполняется перед передачей обратно.Прежде чем передать его обратно, позвоните одному из получателей.Тогда вы можете гарантировать, что он заполнен.
Полезным упражнением было бы включить ведение журнала sql (org.hibernate.SQL = DEBUG), выполнить отладку и посмотреть, какие инструкции sql выполняются.
Вы также можете настроить постоянный объект, который вы загружаете, чтобы он не был ленивым.Таким образом, используете ли вы load или get, вы будете каждый раз получать полностью заполненный объект.