究竟该如何创建获取sessionfactoryy

A 在3.6.8版本中,可以直接用SessionFactory sf = new Configuration()&& &.configure()&& &//&& &直接用hibernate.cfg.xml来进行配置和创建&& &.buildSessionFactory();B 在4.0.0版本中,因Configuration().configure()方法被废除了,故用以下方式来创建Configuration config = new Configuration()&& &&& &&& &.addResource("org/monday/domain/Customer.hbm.xml");ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()&& &&& &&& &.buildServiceRegistry();SessionFactory sf = config.buildSessionFactory(serviceRegistry);在此方法中默认使用hibernate.properties文件来进行配置,而hibernate.properties文件中不能添加映射文件(.hbm.xml),所以只能用.addResource("org/monday/domain/Customer.hbm.xml")来添加映射文件,这里必须是全路径。使用如下方法时,读取hibernate.cfg.xml时会出错(找不到元素 'hibernate-configuration' 的声明)Unable to perform unmarshalling at line number 4 and column 26 in RESOURCE hibernate.cfg.xml可能是这个版本对DTD不识别,或者是方法运用错误。ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()&& &&& &&& &&& &.configure()&& &//想通过这个来读取hibernate.cfg.xml来进行配置&& &&&&&&&&&&&& .buildServiceRegistry();SessionFactory sf = new MetadataSources( serviceRegistry )&& &&& &&& &&& &&&&&&&& .buildMetadata()&& &&&&&&&& .buildSessionFactory();C 在4.0及以上版本中,用hibernate.cfg.xml来创建sessionFactory的方法&& &     private static final SessionFactory sessionFactory = buildSessionFactory();&&&&&&&&&&&&&&& private static ServiceRegistry serviceR&&& &&&&&&&&&&&&&&& Configuration configuration = new Configuration();&&&&&&&&&&&&&&& configuration.configure();&&&&&&&&&&&&&&& serviceRegistry = new ServiceRegistryBuilder().applySettings(&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& configuration.getProperties()).buildServiceRegistry();&&&&&&&&&&&&&&& return configuration.buildSessionFactory(serviceRegistry);
阅读(...) 评论()

我要回帖

更多关于 创建sessionfactory 的文章

 

随机推荐