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)