看来这个问题在编程上很受欢迎。
我的表中有一个表,其中包含Id和ParentId。
问题是,如何使用Hibernate正确处理“检索给定节点的所有子节点”等任务
现在我得到的东西就像一个递归循环,它找到了给父母一个孩子的孩子,但是在桌子上10000行只是疯了。
我所能找到的只是人们说这种数据库结构不适合大量数据,但我已经走上了这条道路。除了使用10000个小查询杀死我的数据库,我还能做些什么?
答案 0 :(得分:0)
当hibernate对象具有一对多属性时,每次调用以获取下一个子进程都会强制执行查询。这被称为“延迟加载”,并通过按需获取它们来提高性能。您可以通过在映射上设置lazy属性来强制hibernate在一个查询中“急切地加载”该集合。文档中提供了更多信息: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/performance.html#performance-fetching-lazyproperties