Есть MySQL
база с 1 таблицей пользователей, есть простейшее CRUD приложение со Spring MVC
и, собственно, Hibernate для работы с этой базой.
Все по туториалам: 1 энтити (User), слой DAO
, UserService
и UserController
. Тут вроде все понятно и с аннотациями тоже.
А вот конфигурация Spring и Hibernate для меня пока еще полутемный лес. По туториалу имею только web.xml с 1 сервлетом ("mvc-dispatcher" org.springframework.web.servlet.DispatcherServlet
) и маппингом, а также mvc-dispatcher-servlet.xml
, где настроино подключение к БД, Hibernate
(LocalSessionFactoryBean
для того самого энтити), бины для DAO
и Сервиса, HibernateTransactionManager
).
Ну и тупо скопированные и адаптированные с примера 2 JSP файла с поддержкой
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
В итоге приложение запускается, вижу отображение БД, операции добавления через форму и удаления проходят безупречно, а вот правка записи или обращение к конкретной записи приводит к экрану HTTP Status 500.
org.apache.jasper.JasperException: An exception occurred processing JSP page /WEB-INF/pages/userdata.jsp at line 53
В частности при обращении к ${user.id}
или ${user.name}
Ниже в Stacktrace:
javax.el.ELException: Error reading 'id' on type usermanager.entities.User_$$_jvstc8f_0
Еще ниже
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
ЧСХ скачанный с туториала проект с идентичными импортами и файлами конфигурации работает без ошибок!
Подскажите, пожалуйста, в какую сторону смотреть?
Если причина в LazyInitialization
, то как ее корректней отключить, а еще лучше - как исправить ошибку в работе оставив Lazy
?
UPD: Аннотация @Proxy(lazy=false) на энтити класс проблему в целом решает - программа работает, хотя JSP все же странно себя ведет в некоторых сценариях, но это уже другая история.
Вопрос как исправить ошибку в работе оставив Lazy
остается открытым
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Я собираюсь стримить звук с микрофона смартфона android на другой android смартфонЕсть сервер который используется только для идентификации, после...
На android 60 не отображается LocationButton google maps
Поясните в общих чертах что это и с чем его едят, а после - может и ссылку годную на пример :)
Возможно ли в Android сохранить разметку с значениями в файл, чтобы после можно было её из этого файла потом загрузить?