今天用工具生成数据库映射文件,然后用application的main函数调试的时候报了javax.naming.NoInitialContextException异常:

异常具体内容是:Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial

百度上说是用了连接池但是又用了main程序来调试,应该用tomcat来运行。问题是。。。我压根没用连接池啊!

自己对比了之前手动配的配置文件,发现工具生成的时候可以给 <session-factory>设置一个name属性,当时给填了个mySesstionFactory,所以报错了。

解决办法:

在hibernate.cfg.xml文件中把 <session-factory>节点的name属性去掉即可。