3

我在 derby 数据库中有三个表。日程安排、员工日程安排、员工日程安排信息。Schedule 有一个 EmployeeSchedule 列表,而 EmployeeSchedule 有一个 EmployeeScheduleInfo 列表。

我正在使用 eclipselink jpa,我从 netbeans 生成了我的实体和控制器。我的问题是当我从数据库加载一个 Schedule 对象时,所有 EmployeeSchedule 对象中的 EmployeeScheduleInfo 对象列表都没有加载,当我调试这个时我看到

{IndirectList: not instantiated}
4

1 回答 1

3

1:M 和 ManyToMany 关系在 JPA 中默认是惰性的。这意味着您需要访问要获取它们的关系 - 在集合上调用 size() 以在调试环境中查看它。您还可以使用 JPQL 中的“获取连接”或 EclipseLink eclipselink.join-fetch 查询提示在初始查询中预取集合: http ://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_(ELUG)#Join_Fetch

于 2012-05-23T13:17:11.483 回答