一、Hibernate簡介:
Hibernate作者——Gavin KingHibernate創始人《 Hibernate in action 》作者EJB 3.0的Entity bean specification的實際領導人(sun任命的領導人是Linda DeMichiel)參加了XDoclet和Middlegen的開發2003年9月加入JBoss,全職進行Hibernate開發二、Hibernate1、一個開發源代碼的對象關系映射框架2、對JDBC進行了非常輕量級的對象封裝3、將JavaBean對象和數據庫的表建立對應關系三、Hibernate優勢1、Hibernate 是一個優秀的Java 持久化層解決方案2、是當今主流的對象—關系映射工具3、Hibernate 簡化了JDBC 繁瑣的編碼session session = HiberanteUtil.getSession();Query query = session.createQuery("from User");List<User> users =(List<User>)query.list();
注:JDBC的缺點:
(1)、開發效率低(2)、代碼冗余 pstmt的setXX方法 方法參數冗余的getXX方法(3)、如果POJO的屬性很多,代碼增加(4)、重復性工作多4、Hibernate 將數據庫的連接信息都存放在配置文件中四、持久化與ORM3-21、持久化層:JDBC 就是一種持久化機制。將程序數據直接保存成文本文件也是持久化機制的一種實現。在分層結構中,DAO 層(數據訪問層)也被稱為持久化層。2、持久化完成的操作:將對象保存到關系型數據庫中。將關系型數據庫中的數據讀取出來,以對象的形式封裝。五、ORM(Object Relational Mapping,對象關系映射)1、編寫程序的時候,以面向對象的方式處理數據2、保存數據的時候,卻以關系型數據庫的方式存儲ORM解決方案包含下面四個部分:1、在持久化對象上執行基本增、刪、改、查操作的API2、用于對持久化對象或屬性查詢的一種語言或者API3、用于實體關系映射的工具4、能夠與事務對象交互、執行檢查、延遲加載以及其他優化功能六、Hibernate中實體對象的三種狀態實體對象的生命周期是Hibernate 應用中的一個關鍵概念實體對象的三種狀態:1、瞬時狀態(Transient)剛用new語句創建,還沒有被持久化,且不處于Session的緩存中2、持久狀態(Persistent)已經被持久化,且加入到Session的緩存中3、游離狀態(Detached)已經被持久化,但不再處于Session的緩存中新聞熱點
疑難解答