2.  Query Compilation Cache

The query compilation cache is a Map used to cache parsed query strings. As a result, most queries are only parsed once in OpenJPA, and cached thereafter. You can control the compilation cache through the openjpa.QueryCompilationCache configuration property. This property accepts a plugin string (see Section 4, “ Plugin Configuration ”) describing the Map used to associate query strings and their parsed form. This property accepts the following aliases:

Table 10.2.  Pre-defined aliases

AliasValueNotes
true org.apache.openjpa.util.CacheMap The default option. Uses a CacheMap to store compilation data. CacheMap maintains a fixed number of cache entries, and an optional soft reference map for entries that are moved out of the LRU space. So, for applications that have a monotonically increasing number of distinct queries, this option can be used to ensure that a fixed amount of memory is used by the cache.
all org.apache.openjpa.lib.util.ConcurrentHashMap This is the fastest option, but compilation data is never dropped from the cache, so if you use a large number of dynamic queries, this option may result in ever-increasing memory usage. Note that if your queries only differ in the values of the parameters, this should not be an issue.
falsenone Disables the compilation cache.