我在 eclipse 中的 tomcat 中将上述代码作为 webapp 运行。
该项目在 windows 平台上运行良好,现在我已将其迁移到 Linux(OpenSuse 12.3),以下代码从 mysql 数据库返回用户。
@Override
public User getUserByLoginID(String userLogin) {
log.info("getUserByLoginID(String userLogin)");
User returnUser = null;
session = sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria(User.class).add(
Restrictions.eq("userLoginEmail", userLogin));
if (criteria.list() != null) {
List<User> users = criteria.list();
if (users.size() > 1) {
// Should never happen
throw new RuntimeException(
"Invalid number of users with same login id.");
}
if (!users.isEmpty()) {
returnUser = users.get(0);
}
}
return returnUser;
}
我检查了以下行,users.size()
,它在窗口中给出了结果,但在 OpenSuse/Linux 中没有。
我在两台机器上都安装了 mysql。 用户存在于两个数据库中。
我怀疑我可能必须为 mysql 数据库配置一些用户/组配置。 知道吗,我该如何进一步调试、排除故障?
任何帮助将不胜感激。
最佳答案
感谢您的不同意见。 数据库名大小写正确,但表名大小写不同,但问题是当我以用户身份运行应用程序时,日志中没有抛出异常。
我以 root 身份登录并尝试以 root 用户身份运行应用程序,那时我可以在日志中看到异常,这提示我正确的方向。
关于java - MYSQL在linux平台不返回结果,在windows下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23868933/