在分析来自数据库的慢速查询报告时,将SQL与发布它们的Java代码相关联有点棘手。
是否可以配置Hibernate将标签(作为注释)附加到它发出的SQL?理想情况下,对于JPA NamedQueries,它将是查询名称,对于动态构造的查询,我们可以告诉CriteriaBuilder使用一些标签。
答案 0 :(得分:2)
如果我理解正确,您可以通过Criteria通过here为查询附加评论。
setComment(String comment):为生成的SQL添加注释。
参数:comment - 一个人类可读的字符串
返回:this(用于方法链接)
对于其他情况,不使用Criteria API,可以将注释添加为查询提示。
setHint(String hintName,Object value):设置查询属性或 暗示。提示元素可用于指定查询属性和 提示。必须遵守本规范定义的属性 提供者。供应商特定提示 必须默默忽略供应商无法识别的 。便携式应用程序不应该依赖于标准超时提示。 取决于使用的数据库和使用的锁定机制 提供者,此提示 可能会或可能不会被观察 。
[强调我的]
根据实现可以在查询中添加提示,可以参考{{3}}获取Hibernate。此外,还有可用的属性org.hibernate.comment
可用于将注释设置为提示。