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