我有一张表:
public class Cycle
{
public Guid Id
public int CycleNo
public Cycle ParentCycle
}
其中的数据为:
Id CycleNo ParentId
C1 1 null
C2 2 C1
C3 3 C2
依旧...... 如果我有c1,如何获得最后一个孩子C3(在这种情况下)? 感谢您的宝贵意见..
答案 0 :(得分:1)
获取节点的完整树:
session.CreateQuery(
"select c from Cycle c join fetch c.ParentCycle where c.Id = 'C1'"
)
.SetResultTransformer(new DistinctRootEntityResultTransformer())
.List<Cycle>();
(或使用Query或CreateCriteria的等效文件)
请参阅:http://ayende.com/blog/4151/nhibernate-tips-tricks-efficiently-selecting-a-tree
然后在内存中遍历它。