hibernate 查询语句时 有时候查到的是以前的信息(这些信息有的是已经删除的,在数据库里边是没有的)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hibernate 查询语句时 有时候查到的是以前的信息(这些信息有的是已经删除的,在数据库里边是没有的)相关的知识,希望对你有一定的参考价值。
查询到的数据有时候是添加之前的,有时候是删除之前的,也有时候是正确的。可能是因为session没有关闭 但我的session在添加删除之后事务都提交了,也确定是否回滚了,不知道是什么原因
保存、更新、删除等方法是在事务关闭后才执行,所以没关就查询的话还是原来的数据 参考技术A 建议用一次session关闭一次,用时打开session这样做也防止资源未关闭。 参考技术B 你更新数据库的时候要提交事务,不然数据库是不会更新的 参考技术C 缓存呗, 你删除数据时不时直接在数据库删的啊?hibernate映射实体类查询时数据库空字段赋值给实体类报错的问题
因为一直报实体类空异常,去网上查了资料只查到了并没有查到数据库空值时不给实体类赋值的属性
异常
org.hibernate.InvalidMappingException: Could not parse mapping document from resource cn/pojo/EmpDao.xml at org.hibernate.cfg.Configuration.addResource(Configuration.java:616) at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1635) at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1603) at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1582) at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1556) at org.hibernate.cfg.Configuration.configure(Configuration.java:1476) at org.hibernate.cfg.Configuration.configure(Configuration.java:1462) at cn.tool.HibernateUtil.<clinit>(HibernateUtil.java:16) at cn.service.EmpService.findEmpById(EmpService.java:16) at cn.Test.main(Test.java:9) Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:555) at org.hibernate.cfg.Configuration.addResource(Configuration.java:613) ... 9 more Caused by: org.dom4j.DocumentException: Connection reset Nested exception: Connection reset at org.dom4j.io.SAXReader.read(SAXReader.java:484) at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:546) ... 10 more Exception in thread "main" java.lang.NullPointerException at cn.tool.HibernateUtil.currentSession(HibernateUtil.java:29) at cn.service.EmpService.findEmpById(EmpService.java:16) at cn.Test.main(Test.java:9)
于是就加了这段代码
public void setComm(Object comm) { if(comm!=null) this.comm = (double)comm; }
以上是关于hibernate 查询语句时 有时候查到的是以前的信息(这些信息有的是已经删除的,在数据库里边是没有的)的主要内容,如果未能解决你的问题,请参考以下文章
安卓开发中SQLite数据库,用查询语句根据id查询所在行数据,求代码:判断若查到的所在行数据为空
解决query查询输入geometry参数查询不到而通过where条件可以查到的问题