【发布时间】:2023-04-08 07:41:01
【问题描述】:
我有一个使用 OpenJAP 进行数据库连接的 Web 项目。我已经配置了 persistence.xml,并且能够连接到数据库并检索数据。但是在控制台输出中我看到了这个条目
1953 OpenJPA TRACE [main] openjpa.jdbc.SQL - <t 31156635, conn 6888942> executing prepstmnt 9690924
UPDATE student
SET scourse = ?, sname = ?, sroll = ?
WHERE id = ?
[params=?, ?, ?, ?]
到目前为止,在我的整个项目中,我还没有添加任何准备好的语句或任何更新语句。我想知道为什么 OpenJPA 会执行此语句,以及当我获取数百万范围内的大数据时会对性能产生什么影响?
【问题讨论】:
-
也许项目在文件系统的某个地方引用了一些配置文件?您是如何在您的项目中搜索到上述语句的?也许搜索整台机器。此外,如果可能,调试将提供有关更新语句来自何处的想法
-
不,该声明不存在。该语句根据访问的表进行更改,这意味着如果表是“学生”,则执行上述语句,否则如果表是“用户”,则使用“用户”表的列执行更新语句。这是 OpenJPA 中一个非常知名的问题。这与数据对象类文件的增强有关。一旦完成,我会尝试一些事情并且它正在工作,然后我会发布答案。
标签: openjpa