Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-dev] Eclipselink and Oracle Total Recall - Caching Problem

Hi Gordon,

Thanks for the quick answer. I tried that but I got the same result. My code is the following:

    public List<Table> getPrevHours(Long TableNumber, int hours) {
        try {
            Query q = em.createNativeQuery("SELECT * FROM Table VERSIONS BETWEEN TIMESTAMP(systimestamp - INTERVAL '1' HOUR) AND SYSTIMESTAMP WHERE PK = ?", Table.class);
            q.setHint("eclipselink.maintain-cache", "false");
            q.setHint("", "true");
            q.setParameter(1, TableNumber);
            List<Table> temp = q.getResultList();
            for (Table b : temp) {
            return temp;
        } catch (Exception e) {
            return null;

If I run the query directly into the database I got 3 records all with different values (except the pk). But when I run the code I got 3 records all equal. Any other Ideas? Do I need to configure something special in the Entity definition?

Diogo Guerra

On Tue, Mar 10, 2009 at 6:39 PM, Gordon Yorke <gordon.yorke@xxxxxxxxxx> wrote:
The issue is not exactly the cache.  TopLink interprets the results as the same instance because the PK is the same and only one instance of any object is allowed within the Persistence Context / Entity Manager.
You could try "eclipselink.maintain-cache" = "false" in combination with "" = "true".  This should bypass the Persistence Context and the cache.

X-Rider wrote:

I'm using oracle total recall and I'm having really big problems due the use
of caching.
For example I'm doing a query like:

Query q = em.createNativeQuery("select * from table versions between
timestamp(systimestamp - interval '1' day) and systimestamp where pk = 1",
q.setHint("eclipselink.cache-usage", "DoNotCheckCache");

List<Table> temp = q.getResultList();

But all the records are equal, because the PK is the same. Eclipselink is
using the caching I think. If I do it by a native query without specifying
the  entity class the values come good, but then I need to construct the

I've even tried to put in the entity definition:

@Cache (type=CacheType.NONE)

But always get the samething.

Anyone knows how to disable the caching for only one query? Or even

eclipselink-dev mailing list

Back to the top