关于Hibernate 在Junit测试中可以成功但是在Web下却无法运行的处理方法
来源:互联网 发布:酷比魔方windows系统 编辑:程序博客网 时间:2024/06/05 02:24
这两天在研究JAVA的框架Hibernate。在看着教程写完代码以后,在Junit中测试可以正常操控数据库,但是将项目布置到tomcat中以后就无法正常运行了。
MyEclipse控制台反馈的信息:
网页页面报的错误:
//程序中关于这一段的代码 public boolean usersLogin(Users u) { // TODO Auto-generated method stub // 事务对象 Transaction tx = null; String hql = ""; try { Session session = HibernateSessionFactory.getSession(); tx = session.beginTransaction(); hql = "from Users where username = ? and password = ?"; Query query = session.createQuery(hql); query.setParameter(0, u.getUsername()); query.setParameter(1, u.getPassword()); List list = query.list(); tx.commit(); // 提交事务 if (list.size() > 0) { return true; } else { return false; } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); return false; } finally { if (tx != null) { tx = null; } } }
经测试查找,是在执行到这句代码的时候停止了。
Query query = session.createQuery(hql);
网上查了 说是 到了程序到了这个位置就阻塞了。无法继续向下执行。可能是hql语句有问题。
解决方法:
方法一:
1.将hql语句改成sql语句,例如:hql = “from Users where username = ? and password = ?” 修改为 hql = “select * from Users where username = ? and password = ?” 。
2.将 session.createQuery() 换成 session.createSQLQuery().
方法二:
1.查看你的Tomcat 下该项目的lib目录下是否有多个版本的antlr.jar。如果有将低版本的antlr.jar删除。
2.重启服务器。
阅读全文
0 0
- 关于Hibernate 在Junit测试中可以成功但是在Web下却无法运行的处理方法
- springmvc通过@Value注解读取Properties配置文件的值,junit测试可以取到值,但是在业务中无法读取
- 我在eclipse中启动Tomcat8.5之后,运行项目下的JSP文件,总是报404错误,但是访问http://localhost:8080/地址却可以正常访问
- 在VC中Debug下是运行结果正确的,但是在Release下却有错,总算找到原因
- 关于lr调用jar在vuser中可以运行,但是controller中却报错的问题
- extjs中的JS代码在firefox可以正常运行,在IE中无法运行的方法。
- 可恶的vogar,在mac下可以运行,在ubuntu下却不能运行,why?
- win10下Java程序在cmd中能够编译却无法运行的解决方法
- 在eclipse中可以正常运行,但是打包之后就无法通过java运行了
- 关于Enum枚举类没有values()方法却可以在枚举类中使用的问题
- JUnit无法运行测试方法的记录
- Python脚本在crontab定时任务中无法运行,但是对应脚本手动执行成功
- junit:在不需要main的情况下运行某个方法
- Hibernate 中save方法运行成功之后却没有保存进数据库的原因
- Java程序在Eclipse中可以运行,在命令行中却提示错误,找不到或无法加载主类!
- @ResponseBody 返回json数据 在IE浏览器提示保存文件,但是在firefox中却可以正常的实现功能。
- json 在文件main函数,junit中可以用 但是在servelt中不可以用
- 在sql中可以查询其他用户下的表而在存储过程中却不认识
- java接口
- 谷歌访问助手(chrome版)安装方法
- python数据分析实践(三)
- 71. Simplify Path
- oneplus5刷机
- 关于Hibernate 在Junit测试中可以成功但是在Web下却无法运行的处理方法
- 《小白兔到大黑牛》第十六篇Scala学习总结
- C++ Builder快捷键
- 类人的普适的计算机视觉是如何感知这个世界的?
- js获取浏览器高度和宽度值
- 数组指针的三种定义形式
- 运行时权限
- flume-自定义Sink基本框架
- 在编译Faac1.28库时出现编译C++ 的undefined reference to '__cxa_end_cleanup'及 __gxx_personality_v0问题