1. OpenJPA
  2. OPENJPA-1845

the prepared query cache doesn't currently work correclty with 'SELECT IN' statements


    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.0.1
    • Fix Version/s: 2.1.1, 2.2.0
    • Component/s: jdbc
    • Labels:


      I have a problem with upgrading from OpenJPA-2.0.0 to 2.0.1.

      One of my services executes the following query (this is the 'id' I get in PreparedQueryCacheImpl#get(String id) ):

      SELECT distinct e FROM Employment em, Person e WHERE em.employeeId = e.employeeId and em.orgUnitCode = :orgUnitCode AND em.employmentPosition in (:employmentPositions) AND em.start <= :startBefore AND em.end >= :endAfter ORDER BY e.familyName ASC

      Somehow when I execute my service a few times with different employmentPositions params (ArrayList<String>) I still get the 'old' cached param values!

      I tried to disable this behaviour in my persistence.xml with

      <property name="openjpa.QueryCache" value="false"/>

      but this didn't work.

      Maybe this was a side effect of the ORDER BY which made this query work in 2.0.0 (caching of queries with ORDER BY got only fixed after 2.0.0), so I'd like to write a unit test for it.

      As Jeremy pointed out, this can get fixed by setting <property name="openjpa.jdbc.QuerySQLCache" value="false"/> in my persistence.xml.
      Nontheless this is a problematic bug because it is very hard to find and lead to finding wrong data in your application (would be less problematic if it would 'just' throw an Exception).

        Issue Links


          Mark Struberg created issue -
          Michael Dick made changes -
          Field Original Value New Value
          Fix Version/s 2.1.1 [ 12316191 ]
          Michael Dick made changes -
          Link This issue is related to OPENJPA-2001 [ OPENJPA-2001 ]
          Michael Dick made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Assignee Pinaki Poddar [ ]
          Fix Version/s 2.2.0 [ 12315910 ]
          Resolution Fixed [ 1 ]
          Albert Lee made changes -
          Status Resolved [ 5 ] Closed [ 6 ]


            • Assignee:
              Pinaki Poddar
              Mark Struberg
            • Votes:
              0 Vote for this issue
              0 Start watching this issue


              • Created: