-
openSession與getCurrentSession的區別<br> 1.getCurrentSession使用了到了單例模式使用現有的對象,雖然每一次運行都不一樣,但同一個方法當中獲取的session是一樣的,無需手動關閉,并且,在openSession之前就可獲取,可見,Hibernate早早地準備好了session對象<br> 2.openSession每次創建新的session對象,必須要手動關閉,否則時間一長會照常連接池溢出<br>查看全部
-
Sesson詳解: 1.如何獲得session對象: a.openSession b.getCurrentSession,使用這個方法需要在hibernate.cfg.xml文件中進行配置查看全部
-
transaction簡介: 1.Hibernate推薦使用手工開啟,提交事物的方式 a.transaction=session.beginTransaction(); b.transaction.commit(); 2.如果使用自動提交的方式,需要調用doWork()方法,并且要求刷新session.flush(); a. session.doWork(new Work() { @Override public void execute(Connection connection) throws SQLException { // TODO Auto-generated method stub connection.setAutoCommit(true); } });查看全部
-
hibernate的執行流程: 1.創建Configuration對象,用來讀取Hibernate.cfg.xml文檔,通過這個對象可以創建SessionFactory對象 2.SessionFactory對象讀取對象映射文件,通過這個對象可以創建Session對象 3.Session對象調用方法執行操作,并且創建一個事物,這些方法都得封裝在事物當中,操作完成后先提交事物,再關閉連接 Session簡介: 1.Hibernate是對jdbc的封裝,不建議直接使用jdbc的connection操作數據庫,而是通過使用session操作數據庫 2.session與connection是多對一的關系,每個session都有一個與之相對應的connection,一個connection不同時刻可以供多個session使用 3.把對象保存在數據庫中需要調用session的各種方法,如save(),update(),delete(),createQuery()等查看全部
-
hibernate.cfg.xml常用配置: 1.hbm2ddl.auto的四個值: a.create:表示啟動的時候先drop,再create b.create-drop: 也表示創建,只不過再系統關閉前執行一下drop c.update: 這個操作啟動的時候會去檢查schema是否一致,如果不一致會做scheme更新 d.validate: 啟動時驗證現有schema與你配置的hibernate是否一致,如果不一致就拋出異常,并不做更新 2.hibernate.default_schema:給每個表名加前綴,一般屬性值為當前表名的數據庫名 3.hibernate.dialect:方言的使用,hibernate可針對特殊的數據庫進行優化查看全部
-
兩者區別查看全部
-
獲取Session對象查看全部
-
Transaction事務查看全部
-
Session保存數據查看全部
-
Hibernate.cfg.xml常用配置查看全部
-
什么是Hibernate查看全部
-
hibernate對象類型查看全部
-
Hibernate基本類型映射查看全部
-
主鍵生成策略查看全部
-
ORM(Object Relationship Mapping) 對象關系映射。 利用面向對象思想編寫的數據庫應用程序最終都是把對象信息保存在關系型數據庫中,于是要編寫很多和底層數據庫相關的SQL語句。 這與面向對象思想格格不入~! 用原始的SQL方式的有什么局限性? 1. 不同的數據庫使用的SQL語法不同。比如:PL/SQL與T/SQL 2. 同樣的功能在不同的數據庫中有不同的實現方式。比如分頁SQL。 3. 程序過分依賴SQL對程序的移植及擴展、維護帶來很大的麻煩。查看全部
舉報
0/150
提交
取消