Please solve my problem i am trying to run these jpql
the code is that
List<Jewellery> jewelleries;
List<Seller> searchedSellers;
List<Integer> jewelleryIds;
jewelleries = entityManager
.createQuery(
"SELECT j FROM Jewellery j WHERE j.id = (SELECT jt.id FROM JewelleryType jt WHERE jt.type = :type)",
Jewellery.class)
.setParameter("type", jewelleryType).getResultList();
for (Jewellery j : jewelleries) {
jewelleryIds.add(j.getId());
}
searchedSellers = entityManager
.createQuery(
"SELECT s FROM Seller s WHERE (s.city.id = (SELECT c.id FROM City c WHERE c.city = :parameter1 )) AND (s.jewellery.id in (:parameter2))",
Seller.class)
.setParameter("parameter1", city)
.setParameter("parameter2", jewelleryIds).getResultList();
i found following error in console.log file
java.lang.IllegalArgumentException: You have attempted to set a value of type class java.util.ArrayList for parameter
parameter2 with expected type of class java.lang.Integer from query
string SELECT s FROM Seller s WHERE (s.city.id = (SELECT c.id FROM City c WHERE c.city = :parameter1 )) AND (s.jewellery.id in (:parameter2))
please solve the issue. thanks in advance..