hibernate4.2版本sessionFactory方法和旧版本的不同

折腾了两天,终于,成功运行了一个hibernate程序,虽然很简单,但过程令人痛苦,问题不断,下面总结了一下今天学到的知识和需要注意的内容


1、SessionFactory对像的生成。

由于4.0版本以后就把原来用于生成SessionFactory的buildSessionFactory()方法给废弃了,这两天可以说主要是给这个问题困扰着了,然后上网找了N多资料,网上对于4.0以上版本的资料太少了,有些也是有问题。这个方法给废弃之后,现在可以用以下方法解决:


Configuration cfg = new Configuration();
 
            cfg.configure();
            ServiceRegistry serviceRegistry =new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();
            SessionFactory sf = cfg.configure().buildSessionFactory(serviceRegistry);
            Session session = sf.openSession();
            session.beginTransaction();                    //事务开启
            session.save(st);                            //保存对象
            session.getTransaction().commit();
            session.close();    
            sf.close();


2、Annotation注解。
这个是在4.0版本以上新增的注解功能,可以免去了配置实体类与数据库的映射配置文件的麻烦。在新版本中,在生成
Configuration实例时直接new Configuration()就可以自动添加了注解功能了,而不用像旧版本那样得new AnnotationConfiguration().


3、使用注解时,在写类实体时声明 @Entity
 导入的包是javax.persistence.Entity 而不是什么org.hibernate.entity
如果不写@table,则表明这个类对应的表名和类名一样


你可能感兴趣的:(hibernate4.2版本sessionFactory方法和旧版本的不同)