Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 玻璃鱼上的弹簧-记录休眠参数?_Java_Hibernate_Spring_Logging_Glassfish - Fatal编程技术网

Java 玻璃鱼上的弹簧-记录休眠参数?

Java 玻璃鱼上的弹簧-记录休眠参数?,java,hibernate,spring,logging,glassfish,Java,Hibernate,Spring,Logging,Glassfish,我在Glassfish Web服务器上运行了一个Spring应用程序,我在hibernate查询中看到了一些非常奇怪的行为。我希望能够看到查询及其参数,而不仅仅是“?”占位符。我该怎么做 我尝试通过管理控制台进入,在服务器配置中将以下记录器添加并配置为“FINEST” javax.enterprise.system.std.com.sun.enterprise.server.logging log4j.logger.org.hibernate.type 我仍然没有得到参数绑定 如何做到这一点

我在Glassfish Web服务器上运行了一个Spring应用程序,我在hibernate查询中看到了一些非常奇怪的行为。我希望能够看到查询及其参数,而不仅仅是“?”占位符。我该怎么做

我尝试通过管理控制台进入,在服务器配置中将以下记录器添加并配置为“FINEST”

  • javax.enterprise.system.std.com.sun.enterprise.server.logging
  • log4j.logger.org.hibernate.type
我仍然没有得到参数绑定


如何做到这一点?

看一看p6spy,它是介于Hibernate和真正的JDBC提供程序以及日志sql语句之间的JDBC提供程序


我还没有在Glassfish上试用过它,但请查看本教程:

看看p6spy,它是介于Hibernate和真正的JDBC提供程序之间的一个JDBC提供程序,用于记录sql语句


我还没有在Glassfish上尝试过,但请查看本教程:

打开您的Springbean配置文件。这是配置hibernate会话工厂的地方(通常在
hibernate.cfg.xml
中)

查找以下性质的
bean
定义。请注意,可以在单独的配置文件中定义这些

<bean id="mySessionFactory" 
class="org.springframework.orm.hibernate3....

更多详细信息,然后打开Springbean配置文件。这是配置hibernate会话工厂的地方(通常在
hibernate.cfg.xml
中)

查找以下性质的
bean
定义。请注意,可以在单独的配置文件中定义这些

<bean id="mySessionFactory" 
class="org.springframework.orm.hibernate3....

更详细地说,

似乎唯一的答案是让Glassfish使用log4j


.

似乎唯一的答案是让Glassfish使用log4j


.

Glassfish管理控制台->配置->服务器配置->日志设置->日志级别->添加日志->org.hibernate.type:FINEST


来源:

Glassfish管理控制台->配置->服务器配置->记录器设置->日志级别->添加记录器->org.hibernate.type:FINEST


来源:

您是否在hibernate.cfg.xml中将“show\u sql”、“format\u sql”设置为true?另外,您还需要将log4j设置为:
log4j.logger.org.hibernate.SQL=DEBUG
和诸如此类。@ringbearer没有hibernate.cfg.xml-看起来配置可能是通过glassfish完成的?老实说,我真的不知道所有这些部分是如何组合在一起的,我只知道update语句正在被记录,但我希望看到的值没有出现在数据库中。但是关于show_sql,正在记录sql,只是没有参数在hibernate.cfg.xml中将“show_sql”、“format_sql”设置为true?另外,您还需要将log4j设置为:
log4j.logger.org.hibernate.SQL=DEBUG
和诸如此类。@ringbearer没有hibernate.cfg.xml-看起来配置可能是通过glassfish完成的?老实说,我真的不知道所有这些部分是如何组合在一起的,我只知道update语句正在被记录,但我希望看到的值没有出现在数据库中。但是关于show_sql,sql正在被记录,只是没有参数。我很感激。所有这些链接似乎只是针对hibernate,而不是Spring+hibernate+glassfish。这种特殊的组合有些奇怪。例如,show_sql位于persistence.xml中,搜索“springramework.org.hibernate”不会返回任何结果。此外,glassfish控制台中定义的日志级别从“server”到“finest”,与log4j通常具有的日志级别不匹配(例如,没有调试级别),据我所知glassfish不使用log4j。如果为应用程序设置了log4j,您会更幸运。您必须通过glassfish中的jvm设置传递
-Dlog4j.configuration
参数。非常感谢。所有这些链接似乎只是针对hibernate,而不是Spring+hibernate+glassfish。这种特殊的组合有些奇怪。例如,show_sql位于persistence.xml中,搜索“springramework.org.hibernate”不会返回任何结果。此外,glassfish控制台中定义的日志级别从“server”到“finest”,与log4j通常具有的日志级别不匹配(例如,没有调试级别),据我所知glassfish不使用log4j。如果为应用程序设置了log4j,您会更幸运。您必须通过glassfish中的jvm设置传递
-Dlog4j.configuration
参数。