使用QueryDSL消除hibernate hql解析器

时间:2013-11-13 10:36:51

标签: java hibernate querydsl

在这个项目中,持久层使用Hibernate,但模型 - 数据库映射主要配置了JPA注释。
Hibernate升级变得困难,因为新的Hibernate版本在SQL中生成不必要的连接而HQL没有变化。 所以我们正在寻找其他选项,而不是Hibernate的HQL解析器 是否可以使用QueryDSL构建HQL样式查询并让QueryDSL生成SQL?

1 个答案:

答案 0 :(得分:1)

Querydsl JPA不是JPA实现,因此如果将Querydsl与JPA一起使用,则无法直接控制生成的SQL。如果您想使用Querydsl更好地控制使用的SQL,那么请改用Querydsl SQL。

Hibernate中经常不必要的连接是由HQL级别的隐式连接(属性遍历)引起的。这也可能适用于您的情况。