Criteria API 和 NamedQuery 之间是否存在启发式/最佳实践/规则集?
到目前为止我的想法:
命名查询通常更具可读性。条件查询更加灵活。
两者都是预编译的。我倾向于尽可能长时间地使用命名查询,然后更改为条件。
但也许
使用标准 API 来“灵活”查询的冲动暗示了次优设计(即关注点分离)?
谢谢
最佳答案
命名查询更加优化(它们被解析/准备一次)。条件查询是动态的(它们不是预编译的,尽管 EclipseLink 等一些 JPA 提供程序维护条件准备缓存)。
我只会将条件用于动态查询。
关于java - JPA命名查询与标准API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7334064/