hibernate入门-02

本文介绍了Hibernate框架的基本组件,包括Configuration、SessionFactory、Session和Transaction等接口的功能与使用方式,并详细阐述了Session的一级缓存机制及常见操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.Configuration类
是Hibernate的入口,它负责配置并启动Hibernate。Hibernate通过Configuration的实例加载配置文件信息,然后读取指定对象关系映射文件的内容并创建SessionFactory实例。
2.SessionFactory接口
负责初始化Hibernate。一个SessionFactory实例对应一个数据库。应用程序从SessionFactory中获得Session实例。
3.Session接口
Session被称为持久化管理器,负责管理与持久化相关的操作:存储、更新、删除和加载对象。
4.Transaction接口
是Hibernate框架的事务接口。它对底层的事务接口做了封装。包括:JDBC API和JTA。

Session的缓存 (一级缓存)


Session的CRUD方法以及调用查询接口的list(),iterate()方法时,如果session缓存中不存在相应的对象,Hibernate就会把该对象加入到第一级缓存中,如果session缓存中已经存在这个对象,就不需在去数据库加载,而直接使用缓存中的对象。
flush: 进行清理缓存(此时缓存中的数据并不丢失)的操作,让缓存和数据库同步 执行一些列sql语句,但不提交事务,;
commit:先调用flush() 方法,然后提交事务. 则意味着提交事务意味着对数据库操作永久保存下来。
session的缓存一般交由hibernate框架自动管理。

基本概念和CURD

1、初始化代码(只做一次)
Configuration cfg = new Configuration();
cfg.configure(“config.cfg.xml”);
也可以通过cfg.setProperty设置属性。
SessionFactory sessionFactory = cfg.buildSessionFactory()
2、模板代码
Session session = null;Transaction tx = null;
try{
session = sessionFactory.openSession();
tx = session.beginTransaction();
//…你的代码save,delete,update,get…
tx.commit();
}catch(Exception e){
if(tx !=null)tx.rollback();throw e;
}finally{
if(session != null)session.close();
}

Session的几个主要方法


1、save保存数据
2、delete,删除对象
3、update,更新对象,如果数据库中没有记录,会出现异常。
4、get,根据ID查,会立刻访问数据库。
5、Load,根据ID查,(返回的是代理,不会立即访问数据库)。
6、saveOrUpdate (根据ID和version的值来确定是save或update

主键生成机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值