有人会帮我解决这个查询有什么问题吗?

时间:2014-10-09 09:34:17

标签: jpa

我是JPA的新手,我正在尝试使用in子句获取一些数据,但我得到0值。

public Collection<Plant> findAllPlants(BigDecimal uId) throws DAOException {
            Query query = entityManager.createQuery(""
                    + "SELECT p FROM Plant p "
                    + "WHERE p.plantId IN ("
                    + "SELECT up.userplantPK.plantId FROM Userplant up "
                    + "WHERE up.userplantPK.userId IN (?1))");
            query.setParameter(1, uId);
            return query.getResultList();
        }

这里没有获得一些大小的植物集合,而是获得0大小。

1 个答案:

答案 0 :(得分:0)

试试这个:

        Query query = entityManager.createQuery(""
                + "SELECT p FROM Plant p "
                + "WHERE p.plantId IN ("
                + "SELECT up.userplantPK.plantId FROM Userplant up "
                + "WHERE up.userplantPK.userId = :uId)");
        query.setParameter("uId", uId);

另外,请检查uId参数和userId属性的类型是否相同。

祝你好运!