1.Querydsl支持代码自动完成,因为是纯Java API编写查询,因此主流Java IDE对起的代码自动完成功能支持几乎可以发挥到极致(因为是纯Java代码,所以支持很好)
2.Querydsl几乎可以避免所有的SQL语法错误(当然用错了Querydsl API除外,因为不写SQL了,因此想用错也难)
3.Querydsl采用Domain类型的对象和属性来构建查询,因此查询绝对是类型安全的,不会因为条件类型而出现问题
4.Querydsl采用纯Java API的作为SQL构建的实现可以让代码重构发挥到另一个高度
5.Querydsl的领一个优势就是可以更轻松的进行增量查询的定义
在Spring环境下,可以通过两种风格来使用QueryDSL。
一种是使用
JPAQueryFactory
的原生QueryDSL风格, 另一种是基于Spring Data提供的
QueryDslPredicateExecutor<T>
的Spring-data风格。
使用
QueryDslPredicateExecutor<T>
可以简化一些代码,使得查询更加优雅。 而
JPAQueryFactory
的优势则体现在其功能的强大,支持更复杂的查询业务。甚至可以用来进行更新和删除操作。