Этот метод не работает с параметрами
@Override
public List<T> findBy2Params(Class c, String param1, String value1, String param2, String value2) {
Query q = em.createQuery("select o from :class o where o.:param1 = ':value1' "
+ " and o.:param2 = 'value2' ");
q.setParameter("class", c.getName());
q.setParameter("param1", param1);
q.setParameter("value1", value1);
q.setParameter("param2", param2);
q.setParameter("value2", value2);
return q.getResultList();
}
выдает ошибку ":"; не обрабатывает его как параметр
java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: неожиданный токен:: рядом со строкой 1, столбец 15 [выберите o из: class o, где o.:param1 = ': value1' и o.:param2 = 'value2']