2

有谁知道为 OneToMany 和 ManyToOne 关系设置 Hibernate 关系以获得更快的搜索查询的最佳方法?我应该保留默认关系,使用 OneToMany(mappedBy=...)。或者是否有其他方式将其用于最佳结果。

我有一个实体树,并希望尽快加载任何给定节点下的所有关系。

4

1 回答 1

-2

我不知道您是在谈论搜索还是加载对象图。

许多事情将提高加载对象图的性能。

1) 数据库表上的索引。
2)调优获取策略;避免 n+1 选择。
3)二级缓存

索引应该总是对你有帮助,而且也很重要。调整获取策略应该会对您有所帮助,二级缓存可能会对您有所帮助。对于第二个和第三个,您将不得不收集一些指标来确定最佳路径。

当你说你

希望尽快加载任何给定节点下的所有关系。

请注意不要一次加载太多数据。有时最好编写优化的 hql 来加载对象图的摘要以呈现给用户,然后当用户选择单个项目时,加载完整的对象。

于 2012-04-23T11:59:49.253 回答