最近在学习hibernate,出现了各种错误。很迷,把错误总结如下:
1.映射文件配置位置问题:
在idea中,报这样的错误:
org.hibernate.internal.util.config.ConfigurationException: Could not locate cfg.xml resource [hibernate.cfg.xml]
以下是我的文件的目录结构:
这是hibernate.cfg.xml中对于Customer.hbm.xml的位置配置
最后终于找到一个有用的帖子,说把映射文件都放在resources下面可以解决问题。
这是我更改后的目录结构
把配置文件放在resources下面,然后更改hibernate.cfg.xml中映射文件的位置
最后解决了问题,我想这可能是idea默认的路径和eclipse的默认路径有所区别吧
2.对于org.hibernate.HibernateException: No CurrentSessionContext configured!的解决办法:
当要用到session工厂的.getCurrentSession();方法时,切记:
要在hibernate的全局配置文件中进行配置下面一段话,加上这句话,就不会报上面的错误了
<property name="hibernate.current_session_context_class">thread</property>
3.hql语句编译报错,但是运行正常,怎么解决?
这个问题困扰了我一天,哎,还是太年轻了。
点击File->Settings找到inspections 将query language checks由error变为warning就好啦。
以上是我踩过的坑,希望对你有帮助!