在 Criteria API 和 NamedQuery 之间进行决策时,是否有启发式/最佳实践/规则集?
到目前为止我的想法:
命名查询通常更具可读性。条件查询更加灵活。
两者都是预编译的。我倾向于尽可能长时间地使用命名查询,然后更改为条件。但是也许
使用条件API“灵活化”查询的冲动是否暗示了欠佳的设计(即关注点分离)?
谢谢
最佳答案
命名查询是最佳选择(它们被解析/准备一次)。标准查询是动态的(尽管某些JPA提供程序(例如EclipseLink维护标准准备高速缓存),它们不是预先编译的)。
我只会将条件用于动态查询。