Tag: named query

Jpa namedquery with left join fetch

这是我的命名查询: @NamedQuery(name =“User.findOneWithLists”,query =“SELECT u FROM User u”+“LEFT JOIN FETCH u.aTemplates”+“LEFT JOIN FETCH u.bTemplates”+“LEFT JOIN FETCH u.bp”+“LEFT JOIN FETCH u.aCredentials“+”LEFT JOIN FETCH u.st WHERE(st.deleted = false)“+”LEFT JOIN FETCH u.bCredentials“+”LEFT JOIN FETCH u.cl“+”WHERE u.id =:id “) 我的问题是,当应用程序启动时出现错误: org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:LEFT …. 在st侧有一个注释 @ManyToOne @JoinColumn(name = “st_user”) private User user; 任何想法我怎么能处理这个where子句?

JPA命名查询与标准API?

是否有针对Criteria API和NamedQuery之间决策的启发式/最佳实践/规则集? 到目前为止我的想法: 命名查询通常更具可读性。 条件查询更灵活。 两者都是预编译的。 我倾向于尽可能长时间地使用命名查询,然后更改为条件。 但是,通过使用标准API来“灵活”查询的冲动可能暗示了次优设计(即关注点的分离)? 谢谢