2014-01-10 3 views
0

Когда я использую метод загрузки в сессии аномалиями java.lang.ClassCastException: www.csdn.net.blank.bean.City_$$_javassist_0 cannot be cast to javassist.util.proxy.ProxyКак использовать метод сеанса нагрузки() в спящем-валидатор 4.3.0.Final

От апи:

Вы не должны используйте этот метод, чтобы определить, существует ли экземпляр (вместо этого используйте get()). Используйте это только для получения экземпляра, который вы предположили, что существует , где не было фактической ошибки.

Эта версия не является методом загрузки для постоянных объектов?

ответ

0

Это хорошее объяснение: http://way2java.com/hibernate/difference-bewteen-session-get-and-session-load-in-hibernate/

нагрузки() называется ленивой выборкой и возвращает прокси-объекта инерционности не фактический объект настойчивости (см выше статьи для объяснения.)

получим () называется нетерпеливой выборкой и возвращает фактический объект сохранения. Этот метод также следует использовать, если вы не уверены, действительно ли экземпляр существует.

По крайней мере, так я понимаю это из чтения статьи выше.

Похоже, вы хотите использовать get().

От http://way2java.com/hibernate/difference-bewteen-session-get-and-session-load-in-hibernate/:

Session Get vs Session Load comparison

Смежные вопросы