Java EclipseLink QueryException不带缓存

Java EclipseLink QueryException不带缓存,java,jpa,jpa-2.0,eclipselink,Java,Jpa,Jpa 2.0,Eclipselink,我关闭了EclipseLink缓存,因为我正在外部修改数据,不想手动刷新所有内容。显然,这是关闭persistence.xml中缓存以避免对象标识问题的正确方法: 这里有一个例外: Exception [EclipseLink-6094] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.QueryException Exception Description:

我关闭了EclipseLink缓存,因为我正在外部修改数据,不想手动刷新所有内容。显然,这是关闭persistence.xml中缓存以避免对象标识问题的正确方法:


这里有一个例外:

Exception [EclipseLink-6094] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.QueryException
Exception Description: The parameter name [patient_id] in the query's selection criteria does not match any parameter name defined in the query.
Query: ReadAllQuery(name="file:/C:/dev/repsitory/trunk/java/server/myapp-server/myapp-server-ear/target/gfdeploy/au.com.myapp_myapp-server-ear_ear_1.0-SNAPSHOT/myapp-server-ejb-1.0-SNAPSHOT_jar/_myappPU590288694" referenceClass=PatientRecord sql="SELECT active, new_patient, patient_id_external, rank, patient_id, clinic_system_id FROM postgres.myapp.patient_record WHERE (patient_id = ?)")
我甚至无法理解异常消息。它讨论的是查询中的参数名,但JDBC参数没有命名


你知道如何在不重新打开缓存的情况下解决这个问题吗?

事实证明,我创建了一个
PatientRecord
的实例,其中包含一个或两个分离的对象(从
PatientRecord
的角度来看是多对一)。这不是缓存的问题,因为这些对象从未分离

我先合并了对象,然后它就工作了