0
在我的Bean我有以下代码如下所示。从工厂获取不同的对象
我想要什么:每当我打电话给工厂时,我都想要一个新的随机人员列表。
我得到了:我每次都得到同一个人名单。显然的原因是,如果当前对象为空,即仅在第一次工厂调用时,工厂方法才会创建一个新对象。
我该如何改变代码,我每次都得到一个新的对象?
谢谢!
@Logger private Log log;
@In private EntityManager entityManager;
@In private LocaleSelector localeSelector;
@Factory("personList")
public List<Person> createPersonList() {
log.info("Creating Person List.");
return entityManager.createQuery(
"SELECT p FROM Person p ORDER by random()")
.setMaxResults(3)
.getResultList();
}