hibernate的save()方法详解
save方法
Session的sava()方法用于将一个临时对象转变为持久化对象,也就是说将一个新的业务实体保存到数据库中,其语法格式如下:
session.save(PersistentClassName);
参数说明:
session:指的是session实例,可以通过以下代码创建。
Configuration config=new Configuration().configure();
SessionFactory sessionFactory=config.buildSessionFactory();
Sesson session=sessionFactory.openSession();
PersistentClassName:表示持久化类名称,用于指定哪个持久化对象保存到数据库中。
?通过save()方法将持久化对象保存到数据库的具体步骤如下:
?(1) 根据持久化类对应映射文件指定的标识符生成方式为临时对象分配一个唯一的OID并赋值给持久化类的ID属性。
(2) 将临时对象加载到缓存中,使之转变成持久化对象。
(3) 当提交事务时清理缓存,利用持久化对象包含的信息生成insert语句,真正将持久化对象包换的信息保存到数据库中。
?举个例子:
?Configuration config=new Configuration().configure();
SessionFactory sessionFactory=config.buildSessionFactory();//创建SessionFactory
Sesson session=sessionFactory.openSession();//打开Session
Transaction tx=session.beginTransaction();//开启事务
Student student=new Student();//实例化对象
student.setId(200);
.....//省略其他设置属性的代码
session.save(student);
tx.commit();//提交事务
session.close();//关闭Session