欢迎来到天天文库
浏览记录
ID:14320620
大小:139.00 KB
页数:14页
时间:2018-07-27
《hibernate学习文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.Configuration2.SessionFactory3.Transaction4.保存学生记录的例子保存、更新一定要显式调用事务5.many—toone的级连更新例子6.hibernate查询复杂的查询需求–Restrictions,Projections的用法结果集排序投影Projections,提供聚合函数的类对多个字段进行投影7.分页查询8.根据模版例子查询9.离线查询10.HQL聚合函数11.HQL例子12.清除Session内部缓存的两个方法,Session.evict(Object o),Session.clear()清空内部
2、缓存13.inverse14.15.Hibernate设置二级缓存16.使用经验Configuration使用Hibernate必须首先提供这些基础信息以完成初始化工作,为后继操作做好准备。这些属性在hibernate配置文件(hibernate.cfg.xml或hibernate.properties)中加以设定。Hibernate会自动在当前的CLASSPATH中搜寻hibernate.cfg.xml文件并将其读取到内存中作为后继操作的基础配置。Configurationconfig=newConfiguration().configure()
3、;SessionFactory会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。它在多个应用线程间进行共享。通常情况下,整个应用只有唯一的一个会话工厂。如果你使用Hibernate访问多个数据库,你需要对每一个数据库使用一个会话工厂。SessionFactory负责创建Session实例。我们可以通过Configuation实例构建SessionFactory:Configurationconfig=newConfiguration().configure();SessionFactorysessionFactory=co
4、nfig.buildSessionFactory();Transaction使用Hibernate进行操作时(增、删、改)必须显示的调用Transaction(默认:autoCommit=false)。Configurationconfig=newConfiguration().configure();SessionFactorysessionFactory=config.buildSessionFactory();Sessionsession=sessionFactory.openSession();Transactiontx=session.b
5、eginTransaction();Studentstu=newStudent();…..session.save(stu);tx.commit();保存学生记录的例子一定要显式调用事务,Transactiontx=session.beginTransaction();publicstaticvoidsaveStudent(){//(1)创建Hibernate的Configuration对象Configurationconfig=newConfiguration().configure();/**(2)从config中获取SessionFactor
6、y对象(可以多线程共享)*在整个应用程序中,SessionFactory只需要一个实例,所以一在系统启动时创建*/SessionFactorysessionFactory=config.buildSessionFactory();//(3)创建Session对象(单线程独占),通过session完成curd操作Sessionsession=sessionFactory.openSession();//(4)可以创建一个Transaction对象Transactiontx=session.beginTransaction();Studentstu=n
7、ewStudent();stu.setName("小明明");stu.setAge(96);stu.setDesc("他是一个坏学生");stu.setSex("f");try{//保存学生对象到数据库session.save(stu);//提交事务tx.commit();System.out.println("保存成功!");}catch(Exceptione){//如果失败,回退tx.rollback();System.out.println("保存失败!");}finally{//最后关闭sessionsession.close();}}ma
8、ny—toone的级联更新例子要在标签增加cascade="save-update",Hiber
此文档下载收益归作者所有