遍历 Stateful Bean 中的所有 EntityManager



有没有办法遍历有状态 Bean 中所有列出的实体管理器?

@Stateful
@Local(SomeInterface.class)
public class ContextBean implements SomeInterface{
    @PersistenceContext(unitName="00")
    private EntityManager em00;
    @PersistenceContext(unitName="01")
    private EntityManager em01;
    ...
    @PersistenceContext(unitName="0n")
    private EntityManager em0n;
    public ContextBean() {}
    public void test(){
       for(EntityManager em : ???){
         // Do something
       }
    }
}

我可以使用循环吗?

当然,您可以遍历每个字段,如下所示:

    Field[] fields = getClass().getDeclaredFields();
    for (Field field : fields) {
        if (field.getType().equals(EntityManager.class)) {
            EntityManager em = (EntityManager) field.get(this);
            // do something with em
        }
    }

最新更新