首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过JBOSS日志调试SQL查询?

如何通过JBOSS日志调试SQL查询?
EN

Stack Overflow用户
提问于 2014-07-30 20:12:26
回答 1查看 232关注 0票数 0

我正在使用JPA hibernate和postgres。在尝试在getResultList()上运行javax.persistence.Query时会出现问题。这个查询很小,大约有10行,但是两个表中的joins和大约80列都会将其查询到大约200行JBOSS日志。就像下面这样。

代码语言:javascript
运行
复制
15:47:05,908 INFO  [stdout] (Thread-11 (HornetQ-client-global-threads-507424984)) Hibernate: 
15:47:05,910 INFO  [stdout] (Thread-11 (HornetQ-client-global-threads-507424984))     select
15:47:05,911 INFO  [stdout] (Thread-11 (HornetQ-client-global-threads-507424984))         tablename0_.some_field_name as auto_genrated_field_name,
....
15:47:06,255 WARN  [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (Thread-11 (HornetQ-client-global-threads-507424984)) SQL Error: 0, SQLState: 42883
15:47:06,256 ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (Thread-11 (HornetQ-client-global-threads-507424984)) ERROR: operator does not exist: character varying ~~ integer
Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts.
Position: 7236

正如所见,日志没有确切地告诉我类型转换有问题的字段名,而只告诉我它认为错误的字符位置。根据缩进和hibernate格式化我的查询的方式,我无法确定它指的是哪个变量。实际上,我试着把这个准确的查询日志放到编辑器上,然后带我到那个字符位置,但是我不确定我是否在看对的地方。在创建查询时,我还查看了Eclipse调试器和参数类型匹配。

在JBOSS中是否有任何开关,或者配置是否能准确地告诉我哪个字段出错了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-30 21:30:02

您可以尝试使用这里提供的解决方案:How to view the SQL queries issued by JPA?

你查过PostgreSQL日志了吗?默认情况下,会记录导致错误的语句。

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

https://stackoverflow.com/questions/25046041

复制
相关文章

相似问题

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