【发布时间】:2011-06-20 04:55:12
【问题描述】:
我有消息,需要显示十个(例如)第一个“根”回复以及对自身的所有回复,它应该看起来像一棵树。 (标准消息和树回复视图,你知道的)。 所以,问题是 - 如何从数据库中获取它 - 我正在使用休眠,并且 afaik 它会得到很多时间 - 递归地检索整个集合本身,以及所有子树。 (而且,也许,它只适用于小型集合,否则递归会导致堆栈溢出(哈哈。我们在这里:)) 有没有更有效的决定?
所以现在我有类似下面的代码,但我需要另一种方式(BaseEntry 是消息和任何回复的类):
@Entity public class BaseEntry extends VersionedEntity {
private @Nullable BaseEntry parent;
@ManyToOne
@ForeignKey(name="base_entry_parent__base_entry_fk")
@Nullable public BaseEntry getParent()
{
return parent;
}
@OneToMany(mappedBy = "parent", cascade = CascadeType.REMOVE, fetch = FetchType.LAZY)
private List<BaseEntry> children;
...
请给点建议好吗?
【问题讨论】:
标签: java hibernate collections treeview performance