#sql #spring #view #model #null
Вопрос:
Я пытаюсь выполнить программу практической загрузки Spring с помощью JpaRepository. У меня есть код для веб-приложения, которое позволяет пользователям регистрироваться. Пользователь регистрируется и добавляет учетные данные для входа в базу данных. У меня есть еще одна веб-страница, на которой вы можете обновить информацию об адресе пользователя. Проблема в том, что при обновлении адреса пользователя веб-обозреватели показывают
Страница с ошибкой белой Метки:
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Tue Jun 08 12:13:08 EDT 2021
There was an unexpected error (type=Internal Server Error, status=500).
null identifier
У меня есть код, отображаемый здесь.
https://github.com/jkirkish/Assignment13.git
Любая помощь в устранении ошибки в веб-браузере, когда я обновляю адресную информацию после нажатия кнопки обновления, была бы полезна.
Ответ №1:
- Первая проблема — Вы не указали действие в users.html :
<div th:if="${#lists.size(users) == 1}">
<form action="" method="post">
Эту строку следует заменить на :
<form th:action="@{/users/{userId}(userId=${user.userId})}" method="post">
- Вторая проблема, которую я вижу, связана с
Address
Сущностью. Попробуйте исправить ниже:
- Добавление стратегии в
Id
поле (идентификатор пользователя) - Удалите
@MapsId
аннотацию.
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getUserId() {
return userId;
}
@OneToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "user_id")
public User getUser() {
return user;
}
Комментарии:
1. Я помещу эту строку кода в действие формы и посмотрю, каковы будут результаты.
2. хорошо, я изменил код в HTML-файле пользователя на то, что было указано выше
3. это ошибка, которую я получаю: 021-06-08 21:28:22.192 ОШИБКА 20736 — — — [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[DispatcherServlet] : Servlet.service() для сервлета [DispatcherServlet] в контексте с путем [] выдал исключение [Ошибка обработки запроса; вложенным исключением является org.hibernate. AssertionFailure: нулевой идентификатор] с основной причиной
4. Если я попытаюсь обновить адрес пользователя с user.html просмотр Я получаю ту же самую внутреннюю ошибку сервера белой страницы. Если я использую MySQL WorkBench для перехода к базе данных с пользователями и адресами. Я могу вставить туда адресную информацию без проблем. Затем я перезапускаю свое приложение и вижу его всплывающее окно на user.html просматривайте и редактируйте его просто отлично.
5. Консоль java выводит строки кода, в которых отображается ошибка при обработке приложения. Я скопировал и вставил трассировку strack в файл README в репозитории Github. Я читал, что я получаю организацию.спящий режим. AssertionFailure: нулевой идентификатор. Не уверен, где это происходит в коде. Или почему это происходит, или как это исправить.