gpt4 book ai didi

java - 没有缓存的 EclipseLink QueryException

转载 作者:行者123 更新时间:2023-12-01 05:28:09 29 4
gpt4 key购买 nike

我关闭了 EclipseLink 缓存,因为我正在外部修改数据,并且不希望遇到手动刷新所有内容的麻烦。显然,这是在 persistence.xml 中关闭缓存以避免对象身份问题的正确方法:

<properties>
<property name="eclipselink.cache.shared.default" value="false"/>
</properties>

这是一个异常(exception):

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 的角度来看是多对一)。这不是缓存的问题,因为这些对象永远不会分离。

我先合并了对象,然后它就起作用了。

关于java - 没有缓存的 EclipseLink QueryException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9447222/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com