我有一个页面树。我想得到一个页面的所有子页面。对于这种情况,我将fetch: Eager
添加到我的yaml文件中。我还想按子页面的位置排序。但fetch
似乎毁掉了一切。它确实降低了执行的查询总数,但子页面不再按位置排序。
这部分在我的页面实体的yaml文件中:
oneToMany:
pages:
targetEntity: Page
mappedBy: parentPage
fetch: EAGER
orderBy: { position: ASC }
知道如何获得一个页面的所有页面,但仍然按位置排序吗?页面树可以嵌套1级以上。
- page_1
page_1_1
page_1_2
page_1_2_1
page_1_2_2
- page_2
我也有类似的问题。当我使用获取模式时,EAGER原则会创建一个带有左联接的查询,而不是两个查询,并在没有通知的情况下忽略排序。解决方案是使用LAZY模式,但确实效果较差。