背景
我有一个包含id、imageId、propertyId列的表。
可能有许多图像与单个属性相关联,并且可能有许多属性与单个图像相关联。
imageId - many-to-many - propertyId
我有一个 propertyIds 列表,我想使用 Hibernate找出与所有 propertyIds 关联的所有图像。
问题。
刚才我一次选择一个属性,并使用 Criteria API 查找与此 propertyId 关联的所有 imageIds,我获得了一个 imageIds 列表。我在下一个查询中使用这个 imageIds 列表并说
select imageIds where imageId in (imageIds obtained in previous step) where propertyId = x
如此有效地,命中数据库的查询数量将等于 propertyId 的数量。我认为这不是一个好的解决方案,不得不访问数据库 n 次,我尝试使用 Detached Query 但没有成功。有更好的解决方案吗?
另外,当我最终获得 imageIds 列表时,将其存储在用户会话中并分页是一个好主意(让我们不考虑结果的数量)还是重复整个过程是个好主意还是应该我考虑将它存储在数据库中是为了分页吗?