只要你按照老师讲的写,没有拼写错误。但是出现了一系列的因为使用了高版本的hibernate而出现的问题,那么非常开心的告诉你,出现的问题都能够从评论、问答中找到。。==说多了都是泪,呜呜呜~~~
2017-02-17
更正: 关于返回同一个Session对象.老师讲的没错! session对象创建后会绑定到当前线程上,如果不调用 session.close()进行关闭,那么下次 再调用 getCurrentSession()返回的仍然是同一个session对象.打印他们的hashcode可验证,完全一样.
如果是关闭后,再次调用 getCurrentSession()返回的就不是前面的session对象,打印hashcode可验证.
如果是关闭后,再次调用 getCurrentSession()返回的就不是前面的session对象,打印hashcode可验证.
2017-02-15
有一点错误的是: getCurrentSession() 每次返回的也是不同的Session对象 , 只是所用的(封装)的Connection对象是同一个;
上面的前提是:连接池中只有一个Connection对象时,上面的成立.
上面的前提是:连接池中只有一个Connection对象时,上面的成立.
2017-02-14
幻想俱现 的答案是正解! 如果在使用完session对象后关闭,就自然释放了它所包装的 java.sql.connection对象到连接池中去.下一次再openSession()时,就把这个connection又取出来进行连接. 同一个对象,地址相同,hashCode 也相同.
但若是连接池容量不是1时,就不一定了.
但若是连接池容量不是1时,就不一定了.
2017-02-14
MappingNotFoundException: *.hbm.xml Not Found.说明这个文件的位置是不对的.在hibernate.cfg.xml文件中直接写 <mapping resource="*hbm.xml" />, 那么你这个资源文件就要放在与hibernate.cfg.xml文件同级目录下,它就能找到并加载了.@_@ resource="*", 这个配置指定的是一个路径.
2017-02-14
最新回答 / qq_这是只仓鼠_0
首先Adress实体类 getter setter不全,会导致映射失败,另外报错光看这个有效信息太少,看出现红条的JUnit插件里面的报错会更准确目前看出来的就这些。
2017-02-14
使用hibernnate 5.0及以上版本——不使用ServiceRegistry了直接buildSessionFactory()
Configuration configuration = new Configuration().configure();
sessionFactory = new Configuration().configure().buildSessionFactory();
session = sessionFactory.getCurrentSession();
transaction = session.beginTransaction();
Configuration configuration = new Configuration().configure();
sessionFactory = new Configuration().configure().buildSessionFactory();
session = sessionFactory.getCurrentSession();
transaction = session.beginTransaction();
2017-02-11