在我已经实现的简单的hibernate例子和孙卫琴写的那本hibernate书里,有两个地方有少许出入
1:我的例子的SessionFaction示例是这样获得:sf=new Configuration.configure().buildSessionFactory();而它的例子里是sf=new Configuration.buildSessionFactory()这里少了个configure()方法,是什么意思???
2:同时,我的例子里没有new Configuration.add(xxx.class)方法,而孙的书里却有这个方法,又是什么意思??谢谢指教~~~
1:我的例子的SessionFaction示例是这样获得:sf=new Configuration.configure().buildSessionFactory();而它的例子里是sf=new Configuration.buildSessionFactory()这里少了个configure()方法,是什么意思???
2:同时,我的例子里没有new Configuration.add(xxx.class)方法,而孙的书里却有这个方法,又是什么意思??谢谢指教~~~
sf=new Configuration.configure().buildSessionFactory
sf=new Configuration.buildSessionFactory()两个完成的功能是一样的,new Configuration.configure()返回的结果还是一个Configuration
类型的对象,作用应该是,强制初始化。用词可能不准确,意思明白就好!第一种做法,更安全。
至于:add(XXX.class
因为你是用的是.properties类型的hibernate配置文件,该文件中,没有把hiberante的映射文件引入。需要手动的添加、。如果使用.xml类型的配置文件,就不会出现这个问题。
重新回答如下:sf=new Configuration.configure().buildSessionFactory补充一下,如:zhengcg(楚楚) 所说:configure(),里边可以有参数,是你的配置文件的路径。那么就读取这个指定的文件。
如果,不带参数,就是读取默认的配置文件。
那么这个时候,其实和Configuration.buildSessionFactory()
是一样的效果。