我对@OneToMany
的效率可能有些怀疑。假设对象A在其中具有B个对象的集合,并且该集合具有100k个对象
class A {
List<B> b; //.size() == 100.000
...
}
即使我将b标记为LAZY,也可以跟随以下伪代码做什么?
select from database object into A a;
a.b.add(new B());
如果我是正确的,则因为必须访问该字段,所以必须加载该字段,是吗?因此,仅作一次插入,我就已经从数据库下载了10万行?
谁能澄清我的疑问?
最佳答案
是的,您是对的:所有10万行都将加载。
该怎么办?
我想从B到A也存在反向关系。在这种情况下,为避免性能问题,当A的B列表未加载时,请保留B实例。或者,您可以进行本机查询。
关于java - JPA ORM关系有效吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20574724/