You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Amita Mehta (JIRA)" <ji...@apache.org> on 2016/05/26 16:41:12 UTC

[jira] [Created] (DELTASPIKE-1157) Repository.findBy methods do not allow an override to add query hints.

Amita Mehta created DELTASPIKE-1157:
---------------------------------------

             Summary: Repository.findBy methods do not allow an override to add query hints.
                 Key: DELTASPIKE-1157
                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-1157
             Project: DeltaSpike
          Issue Type: Bug
          Components: Data-Module
    Affects Versions: 1.5.3
            Reporter: Amita Mehta


We need a way to to add hints or a property override to the findBy methods for the primary key to prevent reading stale data .
We tried overriding the findBy with query hints but these are ignored by the DelatSpike Data Module EntityRepositoryHandler .
    @Override
    @Query(hints = {@QueryHint(name = "javax.persistence.cache.retrieveMode",
        value = "BYPASS"), @QueryHint(name = "eclipselink.refresh",
            value = "TRUE")})
    public ENTITY findBy(PK primaryKey);

The only thing that works is creating a custom query in the repository that uses override properties –
   public AgentDE findByPK(final String primaryKey) {
        final Map<String, Object> properties = new HashMap<String, Object>();
        properties.put("QueryHints.CACHE_USAGE", CacheUsage.DoNotCheckCache);
        properties.put("eclipselink.refresh", "true");

        entityManager().getEntityManagerFactory().getCache().evict(entityClass(), primaryKey);
        entityManager().clear();
        return entityManager().find(entityClass(), primaryKey, properties);

    }




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)