hibernate - uniqueResult默默地失败

rob*_*mag 4 spring tomcat hibernate

我有一个使用hibernate uniqueResult方法的登录控制器.当我在eclipse的tomcat服务器上测试它时,一切正常.但是当我将我的webapps部署到tomcat服务器(在同一台机器上)时,它失败了:即使我使用正确的凭证,它也总是返回null.

这是我的hibernate代码:

session.createCriteria(User.class)
            .add(Restrictions.eq(User.USERNAME_FIELD, userName))
            .add(Restrictions.eq(User.PASSWORD_FIELD, password)).uniqueResult();
Run Code Online (Sandbox Code Playgroud)

谢谢!

H M*_*les 5

也许您应该尝试使用记录器查看实际的hibernate查询和参数.您应该进行"调试"的两个记录器是:

  • org.hibernate.SQL
  • org.hibernate.type

将两者都打开TRACEALL检查结果以记录日志.有关记录器的更多信息,请参阅hibernate文档.

最常见的情况是log4j.AFAIK,hibernate.show_sql已弃用.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration>
<appender name="Stdout" class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" />
    </layout>
</appender>

<logger name="org.hibernate.SQL">
    <level value="TRACE"/>
</logger>

<logger name="org.hibernate.type">
    <level value="TRACE"/>
</logger>

<root>
    <level value="INFO"/>
    <appender-ref ref="Stdout"/>
</root>

</log4j:configuration>
Run Code Online (Sandbox Code Playgroud)