首页 > 解决方案 > Whitelabel 错误页面出现意外错误(类型=内部服务器错误,状态=500)。空标识符

问题描述

我正在尝试用 JpaRepository 做一个练习 Spring Boot 程序。我有一个允许用户注册的网络应用程序的代码。用户注册并将登录凭据添加到数据库。我有另一个网页视图,您可以在其中更新用户地址信息。问题是当您更新用户地址时,网络浏览器显示

白标错误页面

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

当我在点击更新按钮后更新地址信息时,对网络浏览器上的错误的任何帮助都会有所帮助。

标签: sqlspringviewmodelnull

解决方案


  1. 第一个问题 - 您尚未在users.html中指定操作:
<div th:if="${#lists.size(users) == 1}">
    <form action="" method="post">

此行应替换为:

<form th:action="@{/users/{userId}(userId=${user.userId})}" method="post">
  1. 我看到的第二个问题是Address实体。尝试在下面更正:
  • 将策略添加到Id字段 (userId)
  • 删除@MapsId注释。
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getUserId() {
    return userId;
}


@OneToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "user_id")
public User getUser() {
    return user;
}

推荐阅读