将实体作为方法参数传递与发送从实体的一部分创建的新对象

时间:2013-07-06 22:24:37

标签: java performance jpa parameters entities

我得到一个查询@Entity es列表(所谓的主要实体)。我必须使用来自不同查询/实体的值填充这些实体中的一些Transient字段。因此,每个瞬态字段都需要来自主要实体的不同字段组合,并且基于此我应该运行查询并填充瞬态字段。这些是用3到4种不同的方法完成的。

我的问题是,在性能和实践方面,更好的方法是什么?

  1. 将主要实体列表(可能在100s内)传递给这些方法中的每一种并将其填入方法或
  2. 根据每种方法所需的字段创建一个对象,然后获取结果并填充实体?
  3. 当您将实体传递给方法时,您没有创建副本,您只是传递原始列表?没有与绩效相关的问题?

1 个答案:

答案 0 :(得分:1)

除了原始类型之外,作为参数传递给方法的每个对象都作为引用传递。因此,如果将List<EntityClass>对象传递给方法,则不会创建实体的副本。

如果没有其他理由不这样做,我会选择1并将实体列表传递给方法。