【发布时间】:2012-11-28 21:52:33
【问题描述】:
有人能指出我做错了什么吗(跟进之前的问题)?
我有三个类:Dashboard、DashboardUser 和 User。
仪表板工作正常,代码如下:
@OneToMany(cascade= CascadeType.ALL, orphanRemoval = true, mappedBy="dashboard")
private List<DashboardUser> dashboardUsers = new ArrayList<>();
DashboardUser 包含以下两个 JPA 声明:
@Id
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "IDUser")
private User user;
@Id
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "IDDashboard")
private Dashboard dashboard;
问题出在 User.java 上:
@OneToMany(cascade= CascadeType.ALL, orphanRemoval = true, mappedBy="user")
private List<DashboardUser> dashboardUsers;
看起来一样,但只有 Dashboard 类可以正常工作。 执行我的代码后,我的仪表板在他的属性中有一个dashboardUser,但是用户对dashboardUser 有一个空值。
数据库中的表有两个字段:IDUser 和 IDDashboard(我确实使用了正确的 userID 和 dashboardID)。有人看到我的错误吗?
【问题讨论】:
-
包括完整的映射、生成的 SQL 以及您遇到的错误。
-
你是在序列化数据吗,序列化时任何LAZY字段都会为空。
标签: java jakarta-ee jpa mapping one-to-many