[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [eclipselink-users] Cache hit
|
I moved the annotations from the getters to the fields and this has solved my
problem with recursion, but now I seem to have a different issue. When I
update children entitites they do not get persisted. This was working when
I was not using the queryhint.
Any ideas why this has changed its behavior?
Christopher Delahunt wrote:
>
> I find it strange that the
> CpTransaction.setCpTerrorismCoverage(CpTransCoverage) line: 2226
> call causes a
> CpTransCoverage.setCpTransaction(CpTransaction) line: 135
>
> Are you using the method to set back pointers? If so, you shouldn't
> have the JPA provider using method access, and instead annotate the
> fields directly.
>
> Best Regards,
> Chris
>
> Kevin Haskett wrote:
>> I added them to my findById -
>>
>> public CpTransaction findById(final Long id) {
>> EntityManager em = getEntityManager();
>> try {
>> final String queryString = "select model from CpTransaction
>> model where model.transactionId = :propertyValue";
>> final Query query = em.createQuery(queryString);
>> query.setParameter("propertyValue", id);
>> return (CpTransaction) query.getSingleResult();
>> } catch (final RuntimeException re) {
>> throw re;
>> } finally {
>> em.close();
>> }
>> }
>> First I tried adding this -
>> query.setHint(QueryHints.CACHE_USAGE, CacheUsage.DoNotCheckCache);
>>
>> Then I tried this -
>> query.setHint(QueryHints.REFRESH, HintValues.TRUE);
>>
>> Which caused the looping scenario.
>>
>> -----Original Message-----
>> From: eclipselink-users-bounces@xxxxxxxxxxx
>> [mailto:eclipselink-users-bounces@xxxxxxxxxxx] On Behalf Of Tom Ware
>> Sent: Thursday, May 21, 2009 9:54 AM
>> To: EclipseLink User Discussions
>> Subject: Re: [eclipselink-users] Cache hit
>>
>> Which cache usage settings have you added to your model since your
>> initial message on this tread?
>>
>> Kevin Haskett wrote:
>>
>>> Here is the update call -
>>> public CpTransaction update(final CpTransaction entity) throws
>>> DataAccessException {
>>> CpTransaction newRef = null;
>>> EntityManager em = getEntityManager();
>>> newRef = em.merge(entity);
>>> return newRef;
>>> }
>>>
>>>
>>> -----Original Message-----
>>> From: eclipselink-users-bounces@xxxxxxxxxxx
>>> [mailto:eclipselink-users-bounces@xxxxxxxxxxx] On Behalf Of Tom Ware
>>> Sent: Thursday, May 21, 2009 9:48 AM
>>> To: EclipseLink User Discussions
>>> Subject: Re: [eclipselink-users] Cache hit
>>>
>>> What does the code that runs this query look like?
>>>
>>> Kevin Haskett wrote:
>>>
>>>> Now that I have added that, when I do an update it is going into a
>>>> looping condition.
>>>>
>>>> Here is part of the stack trace -
>>>> CpTransCoverage._persistence_getcpTransaction() line: not available
>>>> CpTransCoverage._persistence_setcpTransaction(CpTransaction) line:
>>>>
>> not
>>
>>>> available
>>>> CpTransCoverage.setCpTransaction(CpTransaction) line: 135
>>>> CpTransaction.setCpTerrorismCoverage(CpTransCoverage) line: 2226
>>>> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
>>>> available [native method]
>>>> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 79
>>>> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
>>>> Method.invoke(Object, Object...) line: 618
>>>> PrivilegedAccessHelper.invokeMethod(Method, Object, Object[]) line:
>>>>
>>> 344
>>> WeavedObjectBasicIndirectionPolicy.setRealAttributeValueInObject(Objec
>>> t,
>>>
>>>> Object) line: 125
>>>>
>>>>
>>> OneToOneMapping(ForeignReferenceMapping).setRealAttributeValueInObject
>>> (O
>>>
>>>> bject, Object) line: 1038
>>>> OneToOneMapping(ObjectReferenceMapping).mergeIntoObject(Object,
>>>>
>>> boolean,
>>>
>>>> Object, MergeManager) line: 437
>>>> ObjectBuilder.mergeIntoObject(Object, boolean, Object, MergeManager,
>>>> boolean, boolean) line: 2578
>>>> ObjectBuilder.mergeIntoObject(Object, boolean, Object, MergeManager)
>>>> line: 2557
>>>> MergeManager.mergeChangesOfOriginalIntoWorkingCopy(Object) line: 526
>>>> MergeManager.mergeChanges(Object, ObjectChangeSet) line: 269
>>>> RepeatableWriteUnitOfWork(UnitOfWorkImpl).revertObject(Object, int)
>>>> line: 4355
>>>> ReadObjectQuery(ObjectBuildingQuery).registerIndividualResult(Object,
>>>> UnitOfWorkImpl, JoinedAttributeManager) line: 374
>>>> ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuildingQuery,
>>>> AbstractRecord, UnitOfWorkImpl, Vector, ClassDescriptor,
>>>> JoinedAttributeManager) line: 582
>>>> ObjectBuilder.buildObjectInUnitOfWork(ObjectBuildingQuery,
>>>> JoinedAttributeManager, AbstractRecord, UnitOfWorkImpl, Vector,
>>>> ClassDescriptor) line: 544
>>>> ObjectBuilder.buildObject(ObjectBuildingQuery, AbstractRecord,
>>>> JoinedAttributeManager) line: 485
>>>> ObjectBuilder.buildObject(ObjectLevelReadQuery, AbstractRecord) line:
>>>> 437
>>>> ReadObjectQuery(ObjectLevelReadQuery).buildObject(AbstractRecord)
>>>>
>>> line:
>>>
>>>> 571
>>>> ReadObjectQuery.registerResultInUnitOfWork(Object, UnitOfWorkImpl,
>>>> AbstractRecord, boolean) line: 712
>>>> ReadObjectQuery.executeObjectLevelReadQuery() line: 436
>>>> ReadObjectQuery(ObjectLevelReadQuery).executeDatabaseQuery() line:
>>>> 930
>>>>
>>>> ReadObjectQuery(DatabaseQuery).execute(AbstractSession,
>>>>
>>> AbstractRecord)
>>>
>>>> line: 664
>>>> ReadObjectQuery(ObjectLevelReadQuery).execute(AbstractSession,
>>>> AbstractRecord) line: 891
>>>> ReadObjectQuery.execute(AbstractSession, AbstractRecord) line: 397
>>>>
>>>>
>>> ReadObjectQuery(ObjectLevelReadQuery).executeInUnitOfWork(UnitOfWorkIm
>>> pl
>>>
>>>> , AbstractRecord) line: 954
>>>>
>>>>
>>> RepeatableWriteUnitOfWork(UnitOfWorkImpl).internalExecuteQuery(Databas
>>> eQ
>>>
>>>> uery, AbstractRecord) line: 2697
>>>>
>>>>
>> RepeatableWriteUnitOfWork(AbstractSession).executeQuery(DatabaseQuery,
>>
>>>> AbstractRecord, int) line: 1181
>>>>
>>>>
>> RepeatableWriteUnitOfWork(AbstractSession).executeQuery(DatabaseQuery,
>>
>>>> AbstractRecord) line: 1165
>>>> QueryBasedValueHolder.instantiate(AbstractSession) line: 77
>>>> QueryBasedValueHolder.instantiate() line: 67
>>>> QueryBasedValueHolder(DatabaseValueHolder).getValue() line: 83
>>>> UnitOfWorkQueryValueHolder(UnitOfWorkValueHolder).instantiateImpl()
>>>> line: 161
>>>> UnitOfWorkQueryValueHolder(UnitOfWorkValueHolder).instantiate() line:
>>>> 230
>>>> UnitOfWorkQueryValueHolder(DatabaseValueHolder).getValue() line: 83
>>>> CpTransCoverage._persistence_getcpTransaction() line: not available
>>>> CpTransCoverage._persistence_setcpTransaction(CpTransaction) line:
>>>>
>> not
>>
>>>> available
>>>> CpTransCoverage.setCpTransaction(CpTransaction) line: 135
>>>> CpTransaction.setCpTerrorismCoverage(CpTransCoverage) line: 2226
>>>> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
>>>> available [native method]
>>>> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 79
>>>> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
>>>> Method.invoke(Object, Object...) line: 618
>>>> PrivilegedAccessHelper.invokeMethod(Method, Object, Object[]) line:
>>>>
>>> 344
>>> WeavedObjectBasicIndirectionPolicy.setRealAttributeValueInObject(Objec
>>> t,
>>>
>>>> Object) line: 125
>>>>
>>>>
>>> OneToOneMapping(ForeignReferenceMapping).setRealAttributeValueInObject
>>> (O
>>>
>>>> bject, Object) line: 1038
>>>> OneToOneMapping(ObjectReferenceMapping).mergeIntoObject(Object,
>>>>
>>> boolean,
>>>
>>>> Object, MergeManager) line: 437
>>>> ObjectBuilder.mergeIntoObject(Object, boolean, Object, MergeManager,
>>>> boolean, boolean) line: 2578
>>>> ObjectBuilder.mergeIntoObject(Object, boolean, Object, MergeManager)
>>>> line: 2557
>>>> MergeManager.mergeChangesOfOriginalIntoWorkingCopy(Object) line: 526
>>>> MergeManager.mergeChanges(Object, ObjectChangeSet) line: 269
>>>> RepeatableWriteUnitOfWork(UnitOfWorkImpl).revertObject(Object, int)
>>>> line: 4355
>>>> ReadObjectQuery(ObjectBuildingQuery).registerIndividualResult(Object,
>>>> UnitOfWorkImpl, JoinedAttributeManager) line: 374
>>>> ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuildingQuery,
>>>> AbstractRecord, UnitOfWorkImpl, Vector, ClassDescriptor,
>>>> JoinedAttributeManager) line: 582
>>>> ObjectBuilder.buildObjectInUnitOfWork(ObjectBuildingQuery,
>>>> JoinedAttributeManager, AbstractRecord, UnitOfWorkImpl, Vector,
>>>> ClassDescriptor) line: 544
>>>> ObjectBuilder.buildObject(ObjectBuildingQuery, AbstractRecord,
>>>> JoinedAttributeManager) line: 485
>>>> ObjectBuilder.buildObject(ObjectLevelReadQuery, AbstractRecord) line:
>>>> 437
>>>> ReadObjectQuery(ObjectLevelReadQuery).buildObject(AbstractRecord)
>>>>
>>> line:
>>>
>>>> 571
>>>> ReadObjectQuery.registerResultInUnitOfWork(Object, UnitOfWorkImpl,
>>>> AbstractRecord, boolean) line: 712
>>>> ReadObjectQuery.executeObjectLevelReadQuery() line: 436
>>>> ReadObjectQuery(ObjectLevelReadQuery).executeDatabaseQuery() line:
>>>> 930
>>>>
>>>> ReadObjectQuery(DatabaseQuery).execute(AbstractSession,
>>>>
>>> AbstractRecord)
>>>
>>>> line: 664
>>>> ReadObjectQuery(ObjectLevelReadQuery).execute(AbstractSession,
>>>> AbstractRecord) line: 891
>>>> ReadObjectQuery.execute(AbstractSession, AbstractRecord) line: 397
>>>>
>>>>
>>> ReadObjectQuery(ObjectLevelReadQuery).executeInUnitOfWork(UnitOfWorkIm
>>> pl
>>>
>>>> , AbstractRecord) line: 954
>>>>
>>>>
>>> RepeatableWriteUnitOfWork(UnitOfWorkImpl).internalExecuteQuery(Databas
>>> eQ
>>>
>>>> uery, AbstractRecord) line: 2697
>>>>
>>>>
>> RepeatableWriteUnitOfWork(AbstractSession).executeQuery(DatabaseQuery,
>>
>>>> AbstractRecord, int) line: 1181
>>>>
>>>>
>> RepeatableWriteUnitOfWork(AbstractSession).executeQuery(DatabaseQuery,
>>
>>>> AbstractRecord) line: 1165
>>>> QueryBasedValueHolder.instantiate(AbstractSession) line: 77
>>>> QueryBasedValueHolder.instantiate() line: 67
>>>> QueryBasedValueHolder(DatabaseValueHolder).getValue() line: 83
>>>> UnitOfWorkQueryValueHolder(UnitOfWorkValueHolder).instantiateImpl()
>>>> line: 161
>>>> UnitOfWorkQueryValueHolder(UnitOfWorkValueHolder).instantiate() line:
>>>> 230
>>>> UnitOfWorkQueryValueHolder(DatabaseValueHolder).getValue() line: 83
>>>> CpTransCoverage._persistence_getcpTransaction() line: not available
>>>> CpTransCoverage._persistence_setcpTransaction(CpTransaction) line:
>>>>
>> not
>>
>>>> available
>>>> CpTransCoverage.setCpTransaction(CpTransaction) line: 135
>>>> CpTransaction.setCpTerrorismCoverage(CpTransCoverage) line: 2226
>>>> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
>>>> available [native method]
>>>> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 79
>>>> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
>>>> Method.invoke(Object, Object...) line: 618
>>>> PrivilegedAccessHelper.invokeMethod(Method, Object, Object[]) line:
>>>>
>>> 344
>>> WeavedObjectBasicIndirectionPolicy.setRealAttributeValueInObject(Objec
>>> t,
>>>
>>>> Object) line: 125
>>>> WeavedObjectBasicIndirectionPolicy.updateValueInObject(Object,
>>>>
>> Object,
>>
>>>> Object) line: 93
>>>>
>>>>
>>> WeavedObjectBasicIndirectionPolicy.getRealAttributeValueFromObject(Obj
>>> ec
>>>
>>>> t, Object) line: 61
>>>>
>>>>
>>> OneToOneMapping(ForeignReferenceMapping).getRealAttributeValueFromAttr
>>> ib
>>>
>>>> ute(Object, Object, AbstractSession) line: 614
>>>>
>>>>
>>> OneToOneMapping(ObjectReferenceMapping).getRealAttributeValueFromAttri
>>> bu
>>>
>>>> te(Object, Object, AbstractSession) line: 277
>>>>
>>>>
>>> OneToOneMapping(DatabaseMapping).getRealAttributeValueFromObject(Objec
>>> t,
>>>
>>>> AbstractSession) line: 549
>>>> OneToOneMapping(ObjectReferenceMapping).mergeIntoObject(Object,
>>>>
>>> boolean,
>>>
>>>> Object, MergeManager) line: 403
>>>> ObjectBuilder.mergeIntoObject(Object, boolean, Object, MergeManager,
>>>> boolean, boolean) line: 2578
>>>> MergeManager.mergeChangesOfCloneIntoWorkingCopy(Object) line: 500
>>>> MergeManager.mergeChanges(Object, ObjectChangeSet) line: 267
>>>>
>>>>
>>> RepeatableWriteUnitOfWork(UnitOfWorkImpl).mergeCloneWithReferences(Obj
>>> ec
>>>
>>>> t, MergeManager) line: 3334
>>>> RepeatableWriteUnitOfWork.mergeCloneWithReferences(Object,
>>>>
>>> MergeManager)
>>>
>>>> line: 257
>>>>
>>>>
>>> RepeatableWriteUnitOfWork(UnitOfWorkImpl).mergeCloneWithReferences(Obj
>>> ec
>>>
>>>> t, int, boolean) line: 3298
>>>> EntityManagerImpl.mergeInternal(Object) line: 296
>>>> EntityManagerImpl.merge(T) line: 274
>>>> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
>>>> available [native method]
>>>> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 79
>>>> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
>>>> Method.invoke(Object, Object...) line: 618
>>>>
>>>>
>>> SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke
>>> (O
>>>
>>>> bject, Method, Object[]) line: 198
>>>> $Proxy43.merge(Object) line: not available
>>>> CpTransactionManagerImpl.update(CpTransaction) line: 180
>>>> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
>>>> available [native method]
>>>> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 79
>>>> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
>>>> Method.invoke(Object, Object...) line: 618
>>>> AopUtils.invokeJoinpointUsingReflection(Object, Method, Object[])
>>>>
>>> line:
>>>
>>>> 307
>>>> ReflectiveMethodInvocation.invokeJoinpoint() line: 182
>>>> ReflectiveMethodInvocation.proceed() line: 149
>>>> PersistenceExceptionTranslationInterceptor.invoke(MethodInvocation)
>>>> line: 138
>>>> ReflectiveMethodInvocation.proceed() line: 171
>>>> TransactionInterceptor.invoke(MethodInvocation) line: 106
>>>> ReflectiveMethodInvocation.proceed() line: 171
>>>> JdkDynamicAopProxy.invoke(Object, Method, Object[]) line: 204
>>>> $Proxy58.update(CpTransaction) line: not available
>>>> NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not
>>>> available [native method]
>>>> NativeMethodAccessorImpl.invoke(Object, Object[]) line: 79
>>>> DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 43
>>>> Method.invoke(Object, Object...) line: 618
>>>> AopUtils.invokeJoinpointUsingReflection(Object, Method, Object[])
>>>>
>>> line:
>>>
>>>> 307
>>>> ReflectiveMethodInvocation.invokeJoinpoint() line: 182
>>>> ReflectiveMethodInvocation.proceed() line: 149
>>>> TransactionInterceptor.invoke(MethodInvocation) line: 106
>>>> ReflectiveMethodInvocation.proceed() line: 171
>>>> JdkDynamicAopProxy.invoke(Object, Method, Object[]) line: 204
>>>> $Proxy59.update(CpTransaction) line: not available
>>>> PropertyAction(CppBaseAction).persistCpTrans(CpTransaction,
>>>> HttpServletRequest) line: 1195
>>>>
>>>>
>>>> This is happening on the udpate of the enitity I added the queryhint
>>>> to on the find.
>>>> Seems like it keeps circulating between the CpTransCoverage entity
>>>> and
>>>>
>>>> the CpTransaction.
>>>>
>>>> Any ideas on this one?
>>>>
>>>> -----Original Message-----
>>>> From: eclipselink-users-bounces@xxxxxxxxxxx
>>>> [mailto:eclipselink-users-bounces@xxxxxxxxxxx] On Behalf Of Tom Ware
>>>> Sent: Wednesday, May 20, 2009 10:55 AM
>>>> To: Tom Ware
>>>> Cc: EclipseLink User Discussions
>>>> Subject: Re: [eclipselink-users] Cache hit
>>>>
>>>> Sorry... accidentally hit send too early.
>>>>
>>>> Here's the info about the refresh hint:
>>>>
>>>> http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_%28ELUG%29#R
>>>> e
>>>> fr
>>>> esh
>>>>
>>>> I apologize for giving you information that solves a more complex
>>>> problem than the one you are encountering in my initial response.
>>>> The
>>>>
>>>> cache usage setting relates to how EclipseLink will determine whether
>>>>
>>
>>
>>>> an object exists or not, rather than a simple refresh.
>>>>
>>>> -Tom
>>>>
>>>> Tom Ware wrote:
>>>>
>>>>> Have you tried entityManager.refresh(object) that will guarantee SQL
>>>>>
>>
>>
>>>>> goes to the DB?
>>>>>
>>>>> The refresh hint on your query will also likely solve your issue:
>>>>>
>>>>>
>>>>> If that solves you
>>>>>
>>>>> khaskett wrote:
>>>>>
>>>>>> I changed the code for a find to be this - <code>
>>>>>> final String queryString = "select model from
>>>>>> CpTransaction model where model.transactionId = :propertyValue";
>>>>>> final Query query = em.createQuery(queryString);
>>>>>> query.setParameter("propertyValue", id);
>>>>>> query.setHint(QueryHints.CACHE_USAGE,
>>>>>> CacheUsage.DoNotCheckCache);
>>>>>> return (CpTransaction) query.getSingleResult(); </code>
>>>>>>
>>>>>> And now I see this call in the logs -
>>>>>>
>>>>>> [5/20/09 10:34:50:203 CDT] 0000003e SystemOut O [EL Fine]:
>>>>>>
>>>> 2009-05-20
>>>>
>>>>>> 10:34:50.203--ServerSession(421796132)--Connection(1967945036)--Thr
>>>>>> e
>>>>>> a
>>>>>> d(Thread[WebContainer
>>>>>>
>>>>>> : 4,5,main])--SELECT TRANSACTION_ID, PREMIUM_ACTUAL, PREMIUM_NET,
>>>>>> AUDIT_REPORT, REINSURANCE_TYPE, TRANSITION_YEAR, INSURED_EMAIL,
>>>>>> CREATION_DATE, PREVIOUS_POLICY_NUMBER, PREMIUM_TARGET,
>>>>>> COMPANY_CODE,
>>>>>>
>>>>>> BILL_CHANGE, DELETION_DATE, BILL_TYPE_RENEWAL, LOCK_SESSION,
>>>>>> TRANSACTION_STATUS, DEC_IND, PROGRAM_TYPE, PRINT_NOTICE,
>>>>>> PROCESSING_DATE, INSURED_SUPPLEMENTARY_TYPE, TRANSACTION_UW,
>>>>>> SETUP_DATE, MAIL_TYPE, EXCLUDE_PKG_DISC, REASON_CODE,
>>>>>> PT_EMPLOYEE_COUNT, DOC_MGMT_FLAG, BILL_PLAN_RENEWAL,
>>>>>> SHORT_TERM_FACTOR, RATE_EFFECTIVE_DATE, PCT_TERM, ACORD_FLAG,
>>>>>> INSURED_SUPPLEMENTARY_NAME, LOCK_EDITOR, BILL_PLAN, EMPLOYEE_COUNT,
>>>>>>
>>
>>
>>>>>> TRANSACTION_FORMAT, BILL_ACCOUNT, TRANSACTION_FLAG,
>>>>>> RELATED_POLICY_NUMBER, PREMIUM_PREVIOUS, INSURED_FAX,
>>>>>> REINSURANCE_COST, RATE_LEVEL, OOS_DATA, PREMIUM_WAIVED_IND,
>>>>>> TRANSACTION_DESC, TRANSACTION_LABEL, RATING_FLAG,
>>>>>> MODIFICATION_DATE,
>>>>>>
>>>>>> PRIMARY_STATE, POLICY_NUMBER, INSURED_PHONE, PRODUCER, PREMIUM_MIN,
>>>>>>
>>
>>
>>>>>> TRANSACTION_TYPE, PARENT_TRANSACTION_ID, CONTACT_PHONE, BILL_TYPE,
>>>>>> BILL_TO_RENEWAL, APPROVAL_INITIALS, EFFECTIVE_DATE, BILL_TO,
>>>>>> PREMIUM_RECALC_MIN_IND, RENEWAL_TYPE, ACCOUNT_NUM, SUSPENSE_NUMBER,
>>>>>>
>>
>>
>>>>>> SHORT_TERM_INDICATOR, INSURED_NAME, SUSPENSE_AMT,
>>>>>> BUSINESS_TYPE_DETAIL, CONTACT_NAME, LOCK_OWNER, POLICY_TYPE,
>>>>>> BUSINESS_TYPE, BUSINESS_DESCRIPTION, EXPIRATION_DATE,
>>>>>> PREMIUM_WAIVED, INSURED_FEIN, REASON_DESC, CONTRACT_NUMBER,
>>>>>> CHANGE_DATE, RATE_TABLE_DATE, DENY_FLAG, REINSURANCE_COMPANY,
>>>>>> YRS_BUS, AGENCY_EFT, AGT_RESET, AUDIT_TYPE, POLICY_LOB,
>>>>>> PREMIUM_MEET_MIN, AUDIT_NAME, INSURED_MAILING_NAME, BUSINESS_PHONE,
>>>>>>
>>
>>
>>>>>> POLICY_PMA, ACTION_CODE, INSURED_CITY, INSURED_COUNTY,
>>>>>> INSURED_ADDRESS_2, INSURED_ADDRESS_1, INSURED_STATE,
>>>>>> INSURED_POSTAL_CODE FROM CP_TRANSACTION WHERE (TRANSACTION_ID =
>>>>>> CAST (? AS BIGINT ))
>>>>>> bind => [32967]
>>>>>>
>>>>>> But I am getting an old copy of the data. I can use a tool like
>>>>>> SQLSquirrel and I see that it has data that is not reflected in
>>>>>> what
>>>>>>
>>>>>> is being returned by the find.
>>>>>>
>>>>>> How is that possible?
>>>>>>
>>>>>>
>>>>>> tware wrote:
>>>>>>
>>>>>>> Although the following are not specifically for "find" operations,
>>>>>>>
>>
>>
>>>>>>> they may be helpful.
>>>>>>>
>>>>>>> First, try writing a query that makes use of caching hints:
>>>>>>>
>>>>>>> http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_%28ELUG%2
>>>>>>> 9
>>>>>>> #
>>>>>>> Cache_Usage
>>>>>>>
>>>>>>>
>>>>>>> For configuring on a more broad scale there are some entity-level
>>>>>>> config options here:
>>>>>>>
>>>>>>> http://wiki.eclipse.org/Using_EclipseLink_JPA_Extensions_%28ELUG%2
>>>>>>> 9
>>>>>>> #
>>>>>>> How_to_Use_the_.40Cache_Annotation
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> khaskett wrote:
>>>>>>>
>>>>>>>> Is there a way on a find, to know if the value returned was from
>>>>>>>> the cache or was a DB read? Or is there a way to always force a
>>>>>>>> read from the database on a find?
>>>>>>>>
>>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> eclipselink-users mailing list
>>>>>>> eclipselink-users@xxxxxxxxxxx
>>>>>>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>>>>>>
>>>>>>>
>>>>>>>
>>>> _______________________________________________
>>>> eclipselink-users mailing list
>>>> eclipselink-users@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>>>
>>>>
>>>> This message (including any attachments) is intended only for the use
>>>>
>>
>>
>>>> of the individual or entity to which it is addressed and may contain
>>>> information that is non-public, proprietary, privileged,
>>>> confidential,
>>>>
>>>> and exempt from disclosure under applicable law or may constitute as
>>>> attorney work product.
>>>> If you are not the intended recipient, you are hereby notified that
>>>> any use, dissemination, distribution, or copying of this
>>>> communication
>>>>
>>>> is strictly prohibited. If you have received this communication in
>>>> error, notify us immediately by telephone and
>>>> (i) destroy this message if a facsimile or (ii) delete this message
>>>> immediately if this is an electronic communication.
>>>>
>>>> Thank you.
>>>> _______________________________________________
>>>> eclipselink-users mailing list
>>>> eclipselink-users@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>>>
>>> _______________________________________________
>>> eclipselink-users mailing list
>>> eclipselink-users@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>>
>>>
>>> This message (including any attachments) is intended only for the use
>>> of the individual or entity to which it is addressed and may contain
>>> information that is non-public, proprietary, privileged, confidential,
>>>
>>
>>
>>> and exempt from disclosure under applicable law or may constitute as
>>> attorney work product.
>>> If you are not the intended recipient, you are hereby notified that
>>> any use, dissemination, distribution, or copying of this communication
>>>
>>
>>
>>> is strictly prohibited. If you have received this communication in
>>> error, notify us immediately by telephone and
>>> (i) destroy this message if a facsimile or (ii) delete this message
>>> immediately if this is an electronic communication.
>>>
>>> Thank you.
>>> _______________________________________________
>>> eclipselink-users mailing list
>>> eclipselink-users@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>>
>> _______________________________________________
>> eclipselink-users mailing list
>> eclipselink-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>
>>
>> This message (including any attachments) is intended only for
>> the use of the individual or entity to which it is addressed and
>> may contain information that is non-public, proprietary,
>> privileged, confidential, and exempt from disclosure under
>> applicable law or may constitute as attorney work product.
>> If you are not the intended recipient, you are hereby notified
>> that any use, dissemination, distribution, or copying of this
>> communication is strictly prohibited. If you have received this
>> communication in error, notify us immediately by telephone and
>> (i) destroy this message if a facsimile or (ii) delete this message
>> immediately if this is an electronic communication.
>>
>> Thank you.
>> _______________________________________________
>> eclipselink-users mailing list
>> eclipselink-users@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>>
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>
>
--
View this message in context: http://www.nabble.com/Cache-hit-tp23619031p23932316.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.