我正在Spring启动中编写简单的任务管理应用程序。 我有实体:
f
我试着以这种方式在Thymeleaf中展示这个:
@Entity
@Table(name = "project")
public class Project {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "project_id")
private Long projectId;
@Column
private String name;
@OneToMany
@JoinColumn(name = "task_id")
private List<Task> task;
// getters and setter omitted
它只显示项目,但我看不到我的任务。 我做错了什么?
答案 0 :(得分:2)
这可能是因为project.task为null,因此没有迭代。默认情况下,在对父对象执行查询(延迟加载)时,不会从数据库中选择包含复杂/自定义(通常存储在不同的表)对象中的属性。
您可以通过简单检查HTML来验证这一点,例如:
<p th:if="${project.task} == null">Task is indeed null</p>
快速修复:
@OneToMany(fetch = FetchType.EAGER)