-
Hibernate: Hibernate是java領域的一塊開源的ORM框架技術。 Hibernate對JDBC進行了非常輕量級的對象封裝。 其他主流的ORM框架技術: 1、MyBatis:前身就是著名的iBatis。 2、Toplink:后被Oracle收購,并重新包裝為Oracle AS TopLink。 3、EJB:本身是JAVAEE的規范。查看全部
-
Opensession和getCurrentSession的區別: getCurrentSession每次提交事務后會自動關閉事務,而opensession要手動關閉,否則會導致連接池溢出。 opensession獲取session會每次新建一個session,而getCurrentsession是在獲取當前session,操作當前Session查看全部
-
session詳解查看全部
-
兩種獲取Session的方式:<br> 1.openSession();<br> 2.getCurrentSession查看全部
-
hibernate執行流程查看全部
-
hibernate.cfg.xml基本配置查看全部
-
hibernate基礎總結查看全部
-
mapping 映射是把對象映射到數據庫里查看全部
-
java bins 類 遵循的4個條件 public class student { 1.共有的類 2.提供公有的不帶參數的默認的構造方法 3.屬性私有 4.屬性setter/getter 封裝方法 }查看全部
-
(5)User.hbm.xml常用配置【】 <hibernate-mapping schema="schemaName" //模式的名字 catalog="catalogName" //目錄的名稱 default-cascade="cassade_style" //級聯風格 @ default-access="field/property/CalssName" //訪問策略 @ default-lazy="true/false" //加載策略 @ package="packagename" //默認包名 /> <class name="ClassName" //對應映射的類 table="tableName" //對應映射數據庫的表 batch-size="N" //抓取策略,一次抓取多少記錄 where="condition" //條件 eg:抓取條件 entity-name="EntiyName" //如果需要映射多張表 /> <id //表的主鍵 name="propertyName" //對應的屬性 type="typeName" //對應類型 column="column_nam" //映射數據庫中表當中字段名的名稱 length="length" //指定長度 <generator class="generatorClass"/> //主鍵生成策略 @ />查看全部
-
openSession與getCurrentSession的區別: (1)getCurrentSession在事務提交或者回滾之后會自動關閉,而openSesssion需要你手動關閉。如果使用openSession而沒有手動關閉,多次之后會導致連接池溢出! (2)openSession每次創建新的session對象,getCurrentSession使用現有的session對象 openSession與getCurrentSession openSession 每次使用都是打開一個新的session,使用完需要調用close方法關閉session; getCurrentSession 是獲取當前session對象,連續使用多次時,得到的session都是同一個對象,這就是與openSession的區別之一 ; 一般在實際開發中,往往使用getCurrentSession多,因為一般是處理同一個事務,所以在一般情況下比較少使用openSession;查看全部
-
openSession 每次使用都是打開一個新的session,使用完需要調用close方法關閉session; getCurrentSession 是獲取當前session對象,連續使用多次時,得到的session都是同一個對象,這就是與openSession的區別之一 ; 一般在實際開發中,往往使用getCurrentSession多,因為一般是處理同一個事務,所以在一般情況下比較少使用openSession; 如何獲得session對象??? (1)openSessionion (2)getCurrentSession 如果使用getCurrentSession需要在hibernate.cfg.xml文件中進行配置: 如果是本地事務(jdbc事務) <property name="hibernate.current_session_context_class">thread</property> 如果是全局事務(jta事務) <property name="hibernate.current_session_context_class">jta</property>查看全部
-
transaction 事物<br> hibrenate操作都是封裝在事物中,并且默認是非自動提交方式,所以session保存對象時,如果不開啟事物,并且手工提交事物,對象并不會真正保存在數據庫中<br> 打開session后,必須提交事務(Transaction),否則數據不會真正保存在數據庫中<br> 不使用事務的自動提交方式,記得用session.flush()來輸出sql語句,否則添加不成功 beginTransaction,commit(可用session.doWork(new Work(){}))方法來實現<br> session.flush():輸出sql語句查看全部
-
configuration:讀取配置文檔 sessionFactory:對象關系映射文件 session:操作數據庫的對象,類似于JDBC中的connection session的方法:save,delete,update,createQuery() Transaction:commit session和connection:多對一關系,一個connection服務多個session,每個session都有與之對應的connection 1.不建議直接使用jdbc的connection操作數據庫,而是通過session操作數據庫。 2.session可以了解為操作數據庫的對象,操作數據庫之前必須先獲取session的實例 3.session與connection,是多對一關系,每個session都有一個與之對應的connection,一個connection不同時刻可以供多個session使用。 4.把對象保存到關系數據庫中需要調用session的各種方法:save(),update(),delete(),createQuery查看全部
-
@·hibernate.cfg.xml常用配置 hibernate.cfg.xml常用配置 (1)hibernate.show_sql 編碼階段便于測試 (2)hibernate.format_sql 排版問題,建議設置為true (3)hbm2ddl.auto 可以幫助由 java代碼生成數據庫腳本,進而生成具體的表結構。create|update|create-drop|validate (4)hiberante.default_schema 默認的數據庫 (5)hibernate.dialect 配置Hibernate數據庫方言 hiberante的前綴可以省略,即:hibernate.dialect等同于dialect查看全部
舉報
0/150
提交
取消