当前位置: 首页 > 面试题库 >

如何在JBoss 7中从Hibernate获取JDBC绑定参数?

符国安
2023-03-14
问题内容

我只是想获取Hibernate绑定到问号“?”后面的查询的值。在JBoss 7上。

所以我正在编辑standalone/configuration/logging.properties以添加此内容:

logger.org.hibernate=DEBUG
logger.org.hibernate.type=ALL

但是我的控制台,日志文件都什么也没得到……我想念的是什么?


问题答案:

哇,它真的不像以前的版本…我终于找到了配置JBoss
7日志记录
和Hibernate
4日志记录配置
的正式方法!

您需要做的是编辑standalone/configuration/standalone.xml(您的的配置文件domain)并搜索<subsystem xmlns="urn:jboss:domain:logging:1.1">标签。

然后在中<console-handler name="CONSOLE",我已将级别信息切换为TRACE(<level name="TRACE")并添加了<logger category="org.hibernate">

这是部分XML:

<subsystem xmlns="urn:jboss:domain:logging:1.1">
    <console-handler name="CONSOLE" autoflush="true">
        <level name="TRACE"/>
        <formatter>
            <pattern-formatter pattern="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
        </formatter>
    </console-handler>
    ...
    <logger category="org.hibernate.type.descriptor.sql.BasicBinder">
        <level name="TRACE"/>
    </logger>
    ...

我找到另一个更好的(因为它记录所有的JDBC方法调用,不仅基本的结合)从溶液博客文章:附加spy="true"<datasource>声明和TRACE原木类jboss.jdbc.spy

<datasource jta="true" jndi-name="java:jboss/datasources/myDS" pool-name="myPool" enabled="true" use-java-context="true" spy="true" use-ccm="true">

和记录器(在中<subsystem xmlns="urn:jboss:domain:logging:1.1">):

<logger category="jboss.jdbc.spy">
    <level name="TRACE"/>
</logger>


 类似资料:
  • 我正在尝试设置一个SpringMVC Hibernate WAR,用于部署到Jboss 7.1.1Final。我的应用程序使用Hibernate 3.6.1 我遵循了在JBoss中设置Hibernate 3所需的所有步骤。 > 转到 AS 安装并切换到模块/组织文件夹。 为插槽 3 创建了用于保存Hibernate 3 的文件夹 将Hibernate 3 罐子复制到这个新的 AS/模块/组织/冬眠

  • 问题内容: 这是我的类,用于从数据库中获取数据 这是我的文件: 当我运行该程序时,出现异常后,请帮助我如何解决它。我是Hibernate的新手,尝试学习但被卡住了。 虽然我能够将数据存储在数据库中,但我有2个用于第一和第二类的数据获取数据,但在获取数据时遇到了问题PLZ帮助。 问题答案: 让我引述一下: 据我所知,您正在使用表名。 所以应该是这样的:

  • 问题内容: 我正在使用CsvJdbc(它是用于csv文件的JDBC驱动程序)来访问csv文件。我不知道csv文件包含多少列。如何获得列数?是否有任何JDBC函数?我在java.sql.ResultSet中找不到任何方法。 为了访问该文件,我使用类似于CsvJdbc网站上示例的代码。 问题答案: 您可以从ResultSetMetaData获取列号:

  • 问题内容: 我正在为SQLException编写通用记录器,我想获取传递给PreparedStatement的参数,该怎么做?我能够得到他们的数量。 问题答案: 简短的回答:不能。 长答案:所有JDBC驱动程序都会将参数值保留在某个地方,但是没有标准的方法来获取它们。 如果要出于调试或类似目的而打印它们,则有几种选择: 创建一个传递JDBC驱动程序(使用p6spy或log4jdbc作为基础),该驱

  • 问题内容: 如何在JDBC中获取插入ID? 问题答案: 如果它是自动生成的密钥,那么你可以使用它。你需要Statement使用与用于相同的名称进行调用INSERT。首先,你需要创建用于通知JDBC驱动程序以返回键的语句。 这是一个基本示例: 请注意,你是否依赖JDBC驱动程序。当前,大多数最新版本都可以使用,但是如果我没错,Oracle JDBC驱动程序仍然有些麻烦。MySQL和DB2已经支持它很

  • 我想用Java中的JDBC在数据库中插入一条记录(在我的例子中是Microsoft SQL Server)。同时,我想获得insert ID。如何使用JDBC API实现这一点?