- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hibernate学习文档
Configuration
SessionFactory
Transaction
保存学生记录的例子 保存、更新一定要显式调用事务
many—to one的级连更新例子
hibernate查询
复杂的查询需求 –Restrictions,Projections的用法
结果集排序 投影 Projections,提供聚合函数的类
对多个字段进行投影
分页查询
根据模版例子查询离线查询
HQL 聚合函数HQL例子
清除Session内部缓存的两个方法,Session.evict(Object?o) ,Session.clear() 清空内部缓存
inverse
Hibernate设置二级缓存
使用经验
Configuration
使用Hibernate 必须首先提供这些基础信息以完成初始化工作,为后继操作做好准备。这些属性在hibernate配置文件(hibernate.cfg.xml或perties)中加以设定。
Hibernate会自动在当前的CLASSPATH 中搜寻hibernate.cfg.xml文件并将其读取到内存中作为后继操作的基础配置。
Configuration config= new Configuration().configure();
SessionFactory
会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。
它在多个应用线程间进行共享。通常情况下,整个应用只有唯一的一个会话工厂。
如果你使用Hibernate访问多个数据库,你需要对每一个数据库使用一个会话工厂。
SessionFactory负责创建Session 实例。我们可以通过Configuation实例构建SessionFactory:
Configuration config = new Configuration().configure();
SessionFactory sessionFactory= config.buildSessionFactory();
Transaction
使用Hibernate进行操作时(增、删、改)
必须显示的调用Transaction(默认:autoCommit=false)。
Configuration config= new Configuration().configure();
SessionFactory sessionFactory= config.buildSessionFactory();
Session session= sessionFactory.openSession();
Transaction tx= session.beginTransaction();
Student stu=new Student();
…..
session.save(stu);
mit();
保存学生记录的例子
一定要显式调用事务,Transaction tx= session.beginTransaction();
public static void saveStudent() {
//(1)创建Hibernate的Configuration对象
Configuration config= new Configuration().configure();
/*
* (2)从config中获取SessionFactory对象(可以多线程共享)
* 在整个应用程序中,SessionFactory只需要一个实例,所以一在系统启动时创建
*/
SessionFactory sessionFactory = config.buildSessionFactory();
//(3)创建Session对象(单线程独占),通过session完成curd操作
Session session= sessionFactory.openSession();
//(4)可以创建一个Transaction对象
Transaction tx= session.beginTransaction();
Student stu=new Student();
stu.setName(小明明);
stu.setAge(96);
stu.setDesc(他是一个坏学生);
stu.setSex(f);
try{
//保存学生对象到数据库
session.save(stu);
//提交事务
mit();
System.out.println(保存成功!);
}catch(Exception e){
//如果失败,回退
tx.r
您可能关注的文档
最近下载
- 基于LabVIEW的远程心电信号采集系统.doc
- T_SCS 000015-2023 氧化锆固体电解质 相含量的测定 全谱拟合法.docx VIP
- SN∕T 3131-2012 自行车车闸闸皮中石棉含量的测定 偏光显微镜-X射线衍射光谱法.docx VIP
- 大迈X7 DCT360C众泰培训.pdf
- SN_T 5499-2023 矿产品中滑石含量的测定 X射线衍射全谱拟合法.docx
- SN_T 3514-2013电工钢晶粒取向与无取向鉴定方法X射线衍射测定织构法.docx VIP
- (三模)新疆维吾尔自治区2025年高考第三次适应性检测 理科综合试卷(含答案).pdf
- 大学生志愿服务西部计划服务鉴定表.doc
- 体育馆落地式钢管脚手架施工方案.pdf VIP
- 中国职业教育发展白皮书.pdf VIP
文档评论(0)