我需要从已经收到的结果对象中查询数据库中不同的元素组合。
例如,我获得了Person
个实体的列表。对于Person实体中的每个人,我需要获取地址列表(针对每个人)。
有两种方法可以做到:
我不太了解我可能得到的很多人物实体。那么在性能和实践方面更好的方法是什么呢。
所以,如果我有100个Person实体,在第一种方法中,它将是100次查询,而第二种方法,如下面的巨大查询
from address where (person.id = 1 and person.zip = 393)
or (person.id = 2 and person.zip = 123)
or (person.id = 3 and person.zip = 345)
.... // 10 times.
哪一个更好?对Oracle中的Or条件有任何限制/限制吗? 有更好的方法吗?批量查询?
答案 0 :(得分:0)
您可以通过急切加载来使用休眠,通过加载具有所需限制的人来直接获得您想要的结果。或者如果你想坚持延迟加载尝试使用人和地址的内部联接,以便你可以得到一个包含结果的数组列表