首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hibernate查询日志记录-来自实体名称的日志

Hibernate查询日志记录-来自实体名称的日志
EN

Stack Overflow用户
提问于 2021-06-16 19:19:04
回答 1查看 89关注 0票数 1

通过在application.properties中设置以下配置,我在Hibernate中使用了查询日志记录

代码语言:javascript
运行
复制
logging.level.org.springframework.transaction.interceptor=DEBUG
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=DEBUG

这非常有效,并且可以记录查询。我需要通过在我从哪个表中选择数据的开头添加一个表名来增强这个日志记录。例如,我记录了以下查询:

代码语言:javascript
运行
复制
2021-06-16 13:11:18.008 DEBUG 6544 --- [io-8080-exec-10] org.hibernate.SQL : select count(program0_.id) as col_0_0_ from public.program program0_ where 1=1
2021-06-16 13:11:18.008 DEBUG 6544 --- [io-8080-exec-10] org.hibernate.SQL : select count(user_0 .id) as col_0_0_ from public.user user_0 where 1=1

这些查询很简单,很容易确定数据是从表programuser中查询的。但是在大型查询的情况下,在开始时使用表名可以简化对日志的检查。

在Hibernate中有如何设置的选项吗?

EN

回答 1

Stack Overflow用户

发布于 2021-06-16 21:53:40

  1. Hibernate没有这样的选项。

  1. 注释已经描述了需求定义得相当不明确,因为您可以在任何SQL语句中包含任意数量的表,包括0,因此一般的解决方案相当棘手。

  1. ,但是你可以自己做这样的事情。

例如,如果您使用的是Logback,那么您可以注册一个解析消息的自定义layout,如果它找到一个SQL语句,它就会从中提取表。

或者,您可以使用post处理您的日志,使用您正在使用的工具链来收集和合并日志

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

https://stackoverflow.com/questions/68001658

复制
相关文章

相似问题

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