JPA query.getResultList只返回我的数据表的1行?

时间:2014-09-20 16:40:00

标签: java hibernate java-ee jpa datatable

我正在使用mvc + spring + primefaces,我在DAO中定义了以下方法:

public Pet retrieveAllPet() {

    Query query = em.createQuery("from Pet");



    @SuppressWarnings("unchecked")
    List<Pet> pets = query.getResultList();
    Pet pet = null;
    for (int i = 0; i < pets.size(); i++){
        pet = (Pet) pets.get(i);
    }

    return pet;

现在,当我运行我的应用程序时,它只会返回我的数据表的最后一行? 如果以上返回全表或我的问题是否在其他地方?

非常感谢你。

1 个答案:

答案 0 :(得分:2)

您将返回存储在Pet变量中的方法中的单个pet实例。当i到达pets.size() - 1时,此变量将存储最后一行。

要返回所有行,只需将返回类型更改为List<Pet>并返回变量pets

public List<Pet> retrieveAllPet() {

    Query query = em.createQuery("from Pet");

    @SuppressWarnings("unchecked")
    List<Pet> pets = query.getResultList();
    return pets;
}