[ https://issues.apache.org/jira/browse/OPENJPA-1381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12776536#action_12776536 ]
Albert Lee commented on OPENJPA-1381: ------------------------------------- Work around of this limitation is to specify query hint "openjpa.hint.IgnorePreparedQuery" to true. What is the reason cached query is treated as SQL and subsequently does not allow query methods that requires JPQL/Criteria API as the source language? > IllegalStateException on query method call after named query is created twice. > ------------------------------------------------------------------------------ > > Key: OPENJPA-1381 > URL: https://issues.apache.org/jira/browse/OPENJPA-1381 > Project: OpenJPA > Issue Type: Bug > Components: kernel > Affects Versions: 2.0.0 > Reporter: Albert Lee > Assignee: Albert Lee > Fix For: 2.0.0 > > > When a query method is called (e.g. setLockMode) on a named query that has > been created twice, an IllegalStateException is thrown: > Query q1 = em.createNamedQuery("xxxx"); > ,,,, > Query q2 = em.createNamedQuery("xxxx"); > q2.setLockMode(READ); > 11078 test TRACE [Thread-4] Tests - Caught exception and continue: > java.lang.IllegalStateException: Query is neither a JPQL SELECT nor a > Criteria API query. > 11078 test TRACE [Thread-4] DumpStack - java.lang.IllegalStateException: > Query is neither a JPQL SELECT nor a Criteria API query. > at > org.apache.openjpa.persistence.QueryImpl.assertJPQLOrCriteriaQuery(QueryImpl.java:377) > at > org.apache.openjpa.persistence.QueryImpl.setLockMode(QueryImpl.java:396) > at > org.apache.openjpa.persistence.QueryImpl.setLockMode(QueryImpl.java:1) > at > org.apache.openjpa.persistence.lockmgr.SequencedActionsTest.launchCommonSequence(SequencedActionsTest.java:409) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.