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