0

我曾经在我的 EAR 中有 1 个带有 EJB 和 PersistenceUnit 的项目,它运行良好,查询运行时间 << 1s。

当我创建一个额外的 EJB 项目并在其上定义一个新的 PU 时,整个 EAR 项目运行涉及检索实体的查询非常缓慢。

例如:

em.find(Record.class, "SomeID")最多需要 10 秒才能完成。

SELECT r FROM Record r WHERE r.ID = :ID

与完成所需的时间大致相同find,包含约 10000 个数据的每个其他表都需要大致相同的时间,但

SELECT r.somePrimitiveAttribute FROM Record r WHERE r.ID = :ID

只需几毫秒。

在persistence.xml 中,我只指定了数据库url/密码/用户名和类名列表,没有任何其他参数。

由于网页的查询延迟渲染到每页10s左右,即使是测试也不能接受。谁能建议我应该使用什么设置来阻止 EclipseLink 2.3.x 减速?如果需要,我将尽可能提供更多详细信息。

4

1 回答 1

0

尝试在 persistence.xml 上为您的数据库设置正确的方言。

于 2013-10-12T20:39:00.270 回答