如何使用JPA进行此查询,以便它不是很慢?

时间:2010-08-30 07:06:46

标签: java orm jpa

如何使用JPQL以有效的方式连接多个表

select a.text,b.text,c.text,
from Class1 a, Class2 b, Class3 c
where a.id=b.b_id and b.id=c.b_id and a.text like ... and b.text like ...

我正在做这样的事情,表只有几千行,但查询需要5-6秒才能运行。我假设在进行过滤之前它正在连接所有表

我知道速度可能是特定于JPA供应商的实现,但我怀疑这不是编写此查询的正确方法!

2 个答案:

答案 0 :(得分:1)

查看已生成的SQL查询。然后EXPLAIN查询并尝试优化它。例如,确保您有适当的索引。

答案 1 :(得分:0)

如果您不喜欢JPA正在生成的SQL(但我怀疑它生成“坏”SQL),您始终可以使用Native Query