我是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 :(得分: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
属性的类型是否相同。