2
JPQLを使用してツリー構造を選択しようとしています。マッピングは私が期待したものとは少し違って動作します。それは親にツリー構造をマップしますが、リストのchildNodesは常にnullである:(ここに私のマッピングです:ここではJPAツリーを選択すると、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は常にnullです(任意の考え?
Jamesに感謝します。キャッシュが問題の原因だった! – maxx