【发布时间】:2010-12-15 23:38:51
【问题描述】:
我正在尝试使用 JPQL 选择树结构。映射的工作方式与我预期的有点不同。它将树结构映射到父级,但 List childNodes 始终为 null :( 这是我的映射:
@Entity
@NamedQueries({
@NamedQuery(name = "TreeNode.findAllTree",
query = "select p from TreeNode p " +
"LEFT JOIN fetch p.parentNode"),
})
public class TreeNode {
@Id
private long id = 0;
@ManyToOne
@JoinColumn(name = "parent_id")
public TreeNode parentNode;
@OneToMany(mappedBy="parentNode")
public List<TreeNode> childNodes;
这里是查询:
List<TreeNode> list = super.getEntityManager().createNamedQuery("TreeNode.findAllTree").getResultList();
这是我的表格数据:
ID, PARENT_ID
1 NULL
2 1
3 1
4 3
我尝试过急切和懒惰的 FetchType,但 childNodes 始终为空;(有什么想法吗?
【问题讨论】: