Если в спячке возникает каскадный запрос, могут быть ленивые проблемы с загрузкой. Например, теперь у меня есть класс учетной записи (администратора), категория (категория продукта) и класс продукта (продукт). Слева направо это отношения от одного ко многим, и с справа налево установлено @manytoone (fetch = fetchtype.lazy). Теперь я хочу узнать информацию о продукте и упаковать ее в формат JSON, чтобы передать ее на стойку регистрации. Я использую оператор запроса в фоновом режиме как:
Из продукта P Left Join Fetch P.Category, где P.Name Like: имя
Таким образом, вы можете узнать продукт, а затем также введена категория в продукте. Однако учетная запись в категории не является фактическим объектом, а временным прокси -объектом. Это легко понять, потому что я проверил продукт и только категорию каскад. Что касается категории и учетной записи, он настроен в соответствии с фактическим (ленивым).
Теперь поместите продукт запроса в карту, а затем конвертируйте его в формат JSON и вернитесь на стойку регистрации, определенно возникнет проблема с ленивой загрузкой, потому что объект учетной записи будет принят в процессе преобразования JSON, но сеанс была закрыта в настоящее время, поэтому сообщается об ошибке. Очень прямое, но не очень хорошее решение - это изменить ленивую в категории на стремление, чтобы можно было найти информацию об учетной записи, но это не хорошо. Таким образом, мы используем другой метод: установите черный список в struts.xml и используем регулярные выражения, чтобы отфильтровать учетную запись в категории при преобразовании в формат JSON, поэтому мы не будем проверять объект учетной записи, и не будет никакой проблемы с загрузкой лень. следующее:
На этом этапе не должно быть никаких проблем. Однако в моем проекте я все еще сообщаю о ленивых исключениях для загрузки, что означает, что он не работает после того, как я настраиваю это. Но теоретически, после конфигурации, он будет в порядке, и данные могут быть упакованы в формат JSON и нормально передаваться на стойку регистрации. Эта проблема беспокоила меня в течение двух дней, поэтому я просто поменялся ленивым, чтобы стремиться и начал выполнять проект.
Сегодня я связался с исключением здесь, в другом исключении Hibernate и решил его! Сегодня в Hibernate я хочу вызвать метод получить информацию о продукте, но я не могу ее получить. На фоновой консоли нет сообщения. С тех пор, как я включил режим DEV, на стойке регистрации отобразили сообщение об ошибке:
java.lang.classcastexception: cn.it.shop.model.product _ $$ _ javassist_0 не может быть поднят на javassist.util.proxy.proxy </span>
Не можете быть преобразованы в прокси? ? Зачем переходить на агента? Как правило, разве агенты не могут быть преобразованы в реальные объекты? Поэтому я искал Интернет и обнаружил, что эта проблема может быть связана с пакетом Javassist Jar в проекте, который противоречит. Я пошел в проект, чтобы проверить его, и это оказалось правдой:
Это действительно конфликтует ... поэтому я просто удаляю Javassist-3.11.0.ga.jar в пакете стойки. Hibernate верен, и вы можете получать информацию о продукте нормально. Затем я вспомнил проблему перехода Struts2 на JSON 2 дня назад, поэтому я вернулся, чтобы смениться с нетерпением Quare To Lazy. Проблема исчезла, и я также мог обратиться в JSON нормально. Я был в депрессии. Это было действительно вызвано конфликтом между пакетами JAR. Потому что в то время не было ошибок, но я не мог найти возвращенные данные JSON на стойке регистрации. Я только знал, что данные JSON не были возвращены. Это должно быть проблемой с переносом фона в JSON. Согласно существующему опыту, 90% из них была ленивой загрузкой, но я не ожидал, что это вызвано конфликтом пакета JAR.
Позже: если пакет JAR не конфликтует, но не может конвертировать JSON, это в основном проблема, вызванная ленивой нагрузкой. Метод фильтрации ленивых объектов загрузки путем настройки черных списков на struts.xml очень практичен. Нет необходимости изменять конфигурацию в POJO. Я передам, какие поля я хочу перенести в JSON, и если я не хочу, это очень удобно.
Оригинальная ссылка: http://blog.csdn.net/eson_15/article/details/51394302
Вышеуказанное - все содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.