2014-10-09 126 views
0

我是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大小。

回答

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属性是相同的类型。

祝你好运!

+0

谢谢................ – 2014-10-09 09:47:17

相关问题