首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以让Hibernate用查询名来标记它生成的SQL吗?

我可以让Hibernate用查询名来标记它生成的SQL吗?
EN

Stack Overflow用户
提问于 2014-04-10 11:19:40
回答 1查看 457关注 0票数 2

在分析来自数据库的慢查询报告时,要将SQL与发出报告的Java代码关联起来有点棘手。

是否可以将Hibernate配置为将标签(作为注释)附加到它发出的SQL?理想情况下,对于JPA NamedQueries,它应该是查询名称,对于动态构造的查询,应该是一些我们可以告诉CriteriaBuilder使用的标签。

EN

回答 1

Stack Overflow用户

发布于 2014-04-10 13:10:55

如果我理解正确的话,您可以通过Criteria将注释附加到查询以分析查询。

setComment(String comment) :向生成的SQL添加注释。

参数:注释-人类可读的字符串

返回:this(用于方法链接)

对于其他情况,不使用Criteria API,可以将注释作为提示添加到查询。

setHint(String hintName,Object value) :设置查询属性或提示。提示元素可用于指定查询属性和提示。此规范定义的属性必须由提供程序遵守。必须以静默方式忽略提供商未识别的特定于供应商的提示。可移植的应用程序不应该依赖标准的超时提示。根据正在使用的数据库和提供程序使用的锁定机制,此提示可能会被观察到,也可能不会被观察到。

强调我的

根据具体的实现可以给查询添加提示,可以参考here for Hibernate。此外,还有可用属性org.hibernate.comment可用于将注释设置为提示。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22978031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档