默认情况下是否急切地获取JPA命名查询?

时间:2015-12-13 08:45:02

标签: java hibernate jpa

我正在使用JPA和hibernate作为实现

我有以下应用程序代码

CustomerData customerData = (Customer) getCustomerDataDAO().getObjectByNamedQuery("Customerdata.findByCustomername", queryParameters);

调用以下方法

@Override
    @SuppressWarnings("unchecked")
    public <T> getByNamedQuery(final String queryName) {
        Query queryObject = entityManager.createNamedQuery(queryName);
             return queryObject.getResultList().get(0);
    }

现在,只要执行queryObject.getResultList(),就会触发查询。当我访问customerData的某些属性时,我期待查询将被触发。 是否默认提取JPA命名查询?

1 个答案:

答案 0 :(得分:0)

当您致电getResultList()时,会执行所有已命名或未命名的查询。正如the javadoc所说:

  

执行SELECT查询并将查询结果作为无类型列表返回。