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

本文分享了作者在尝试使用Hibernate 4.0+版本过程中遇到的问题及解决方案,包括SessionFactory创建方式的变化、如何利用注解进行ORM映射等。

折腾了两天,终于,成功运行了一个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,则表明这个类对应的表名和类名一样


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值