EL1007E: 属性 或字段 'classes' 无法在 null 上找到 - 尝试在 html 中显示 类 的名称时
EL1007E: Property or field 'classes' cannot be found on null - while trying to display name of classes in html
我正在尝试从 Spring Data JPA 中的多个 table 获取数据。
User.java
@Entity
@Table(name = "user")
public class User{
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
private String username;
private String password;
//Getters and setters generated
@ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.MERGE, CascadeType.PERSIST })
private List<Classes> classes;
Classes.java
@Entity
public class Classes {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
private String name;
@Lob
private String description;
@ManyToMany(mappedBy = "classes", fetch = FetchType.EAGER, cascade = { CascadeType.MERGE, CascadeType.PERSIST })
private List<User> user;
这些实体生成 table 命名为 'user_classes' 和字段如下 classes_id 和 user_id
我正在尝试显示属于该特定用户的 classes 的名称。
由于我的模型设计如上所示,我正在尝试这样做
<tr th:each="classes : ${user.classes}">
<td th:text="${classes.name}"></td>
</tr>
我的 table 在数据库中看起来像这样
Database table
所以 class 和用户确实存在。
但是我遇到了这个错误
EL1007E: Property or field 'classes' cannot be found on null
我不确定我做错了什么?
拼写错误。我已将用户对象 Thymeleaf 视图传递为
<tbody th:each="users : ${users}">
我试图达到它
<tr th:each="classes : ${user.classes}">
<td th:text="${classes.name}"></td>
</tr>
${user.classes}
部分无效。当我将用户对象写为 users
或像这样 ${users.classes}
时一切正常!
我正在尝试从 Spring Data JPA 中的多个 table 获取数据。
User.java
@Entity
@Table(name = "user")
public class User{
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
private String username;
private String password;
//Getters and setters generated
@ManyToMany(fetch = FetchType.LAZY, cascade = { CascadeType.MERGE, CascadeType.PERSIST })
private List<Classes> classes;
Classes.java
@Entity
public class Classes {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long id;
private String name;
@Lob
private String description;
@ManyToMany(mappedBy = "classes", fetch = FetchType.EAGER, cascade = { CascadeType.MERGE, CascadeType.PERSIST })
private List<User> user;
这些实体生成 table 命名为 'user_classes' 和字段如下 classes_id 和 user_id
我正在尝试显示属于该特定用户的 classes 的名称。 由于我的模型设计如上所示,我正在尝试这样做
<tr th:each="classes : ${user.classes}">
<td th:text="${classes.name}"></td>
</tr>
我的 table 在数据库中看起来像这样
Database table
所以 class 和用户确实存在。
但是我遇到了这个错误
EL1007E: Property or field 'classes' cannot be found on null
我不确定我做错了什么?
拼写错误。我已将用户对象 Thymeleaf 视图传递为
<tbody th:each="users : ${users}">
我试图达到它
<tr th:each="classes : ${user.classes}">
<td th:text="${classes.name}"></td>
</tr>
${user.classes}
部分无效。当我将用户对象写为 users
或像这样 ${users.classes}
时一切正常!