java.lang.IllegalArgumentException: No positional parameters in query: from MyClass myObject where myObject.field like '%?%'

hibernate.org | 8 months ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    Hibernate Community • View topic - HQL: How use a parameter in a like %foo% expression?

    hibernate.org | 8 months ago
    java.lang.IllegalArgumentException: No positional parameters in query: from MyClass myObject where myObject.field like '%?%'
  2. 0

    [EJB-61] implicit parameter ? no longer supported - Hibernate JIRA

    atlassian.net | 1 year ago
    java.lang.IllegalArgumentException: Parameter 0 does not exist as a named parameter in
  3. 0

    [EJB-61] implicit parameter ? no longer supported - Hibernate JIRA

    atlassian.net | 1 year ago
    java.lang.IllegalArgumentException: Parameter 0 does not exist as a named parameter in
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    After upgrading from Hibernate EntityManager 3.1 beta 2 to Hibernate EntityManager 3.1 beta 3, queries with ? parameters do not work anymore. My query method looks like this: public List< ? > query(String queryString, Object... parameters) throws DataAccessException { EntityManager em = emf.createEntityManager(); EntityTransaction tx = null; try { tx = em.getTransaction(); tx.begin(); Query qry = em.createQuery(queryString); for (int i = 0; i < parameters.length; i++) { qry.setParameter(i, parameters[i]); } List< ? > result = qry.getResultList(); tx.commit(); return result; } catch (RuntimeException e) { if (tx != null) tx.rollback(); throw new DataRetrievalFailureException("Querying failed", e); } finally { em.close(); } } I'm calling it like this: (List<Contact>) dao.query("SELECT entity FROM " + Contact.class.getName() + " AS entity WHERE isEntityMarkedAsDeleted = ?", Boolean.FALSE); The following exception is thrown after the upgrade: java.lang.IllegalArgumentException: Parameter 0 does not exist as a named parameter in [SELECT entity FROM thomschkeOffice.model.services.contacts.Contact AS entity WHERE isEntityMarkedAsDeleted = ?] at org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:398) at org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:466) at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:154) at model.dao.ejb3.Ejb3DAO.query(Ejb3ThomschkeOfficeDAO.java:218) at model.services.contacts.ContactManager.getAllContacts(ContactManager.java:91) When using hibernate without EntityManager it works fine. It looks like that the method org.hibernate.ejb.QueryImpl.setParameter which converts the parameter position to a string value is interpreted by the org.hibernate.impl.AbstractQueryImpl.setParameter as a named parameter.

    Hibernate JIRA | 1 decade ago | Johan Steiner
    java.lang.IllegalArgumentException: Parameter 0 does not exist as a named parameter in [SELECT entity FROM thomschkeOffice.model.services.contacts.Contact AS entity WHERE isEntityMarkedAsDeleted = ?]
  6. 0

    After upgrading from Hibernate EntityManager 3.1 beta 2 to Hibernate EntityManager 3.1 beta 3, queries with ? parameters do not work anymore. My query method looks like this: public List< ? > query(String queryString, Object... parameters) throws DataAccessException { EntityManager em = emf.createEntityManager(); EntityTransaction tx = null; try { tx = em.getTransaction(); tx.begin(); Query qry = em.createQuery(queryString); for (int i = 0; i < parameters.length; i++) { qry.setParameter(i, parameters[i]); } List< ? > result = qry.getResultList(); tx.commit(); return result; } catch (RuntimeException e) { if (tx != null) tx.rollback(); throw new DataRetrievalFailureException("Querying failed", e); } finally { em.close(); } } I'm calling it like this: (List<Contact>) dao.query("SELECT entity FROM " + Contact.class.getName() + " AS entity WHERE isEntityMarkedAsDeleted = ?", Boolean.FALSE); The following exception is thrown after the upgrade: java.lang.IllegalArgumentException: Parameter 0 does not exist as a named parameter in [SELECT entity FROM thomschkeOffice.model.services.contacts.Contact AS entity WHERE isEntityMarkedAsDeleted = ?] at org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:398) at org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:466) at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:154) at model.dao.ejb3.Ejb3DAO.query(Ejb3ThomschkeOfficeDAO.java:218) at model.services.contacts.ContactManager.getAllContacts(ContactManager.java:91) When using hibernate without EntityManager it works fine. It looks like that the method org.hibernate.ejb.QueryImpl.setParameter which converts the parameter position to a string value is interpreted by the org.hibernate.impl.AbstractQueryImpl.setParameter as a named parameter.

    Hibernate JIRA | 1 decade ago | Johan Steiner
    java.lang.IllegalArgumentException: Parameter 0 does not exist as a named parameter in [SELECT entity FROM thomschkeOffice.model.services.contacts.Contact AS entity WHERE isEntityMarkedAsDeleted = ?]

    Root Cause Analysis

    1. java.lang.IllegalArgumentException

      No positional parameters in query: from MyClass myObject where myObject.field like '%?%'

      at org.hibernate.impl.AbstractQueryImpl.setParameter()
    2. Hibernate
      AbstractQueryImpl.setParameter
      1. org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:171)
      2. org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:408)
      2 frames
    3. Hibernate
      HibernateTemplate$29.doInHibernate
      1. org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:745)
      1 frame