Hibernate 筆記
Hibernate 筆記 開始之前要有的觀念 Configuration 主要用於啟動、載入和管理 Hibernate的配置文件,創建完 Session 之後聲明週期應該要被拋棄 如果設定檔放在專案的根目錄的話 StandardServiceRegistryBuilder 會自動處理 SessionFactory 用於 Hibernate 的初始化和建立 Session 對象,這個是工廠模式的做法 他是線程安全的,因此可以被多線程使用,但是他是重量級的,因此一般來說一個專案只需要一個 SessionFactory 就好了。 SessionFactory 會做以下幾件事情: 解析設定 建立 connection pool 建立 Mapping 如果有啟用的話會建立Second-Level Cache session 他會為 Hibernate 提供 DB 的 CRUD 入口,SessionFactory 會提供建立獲取生成 session 的方法。 session 有以下幾個特點: 非線程安全,不可以多線程共用 輕量級,可以多次建立和用完即丟 session 有一級緩存 Transaction 交易控制,從 session 的 beginTransaction 取得 有 commit 和 rollback 方法提供 commit 和 rollback 透過 properties 設定 # 連線設定 hibernate.connection.url=jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1 hibernate.connection.username=sa hibernate.connection.password= # 印到 console 的設定 hibernate.show_sql=true #直接將 SQL 記錄到控制台 hibernate.format_sql=true #以多行、縮排格式記錄 SQL hibernate.highlight_sql=true #透過 ANSI 轉義碼以語法高亮方式記錄 SQL # Automatically export the schema hibernate.hbm2ddl.auto=create 建立entity /* * SPDX-License-Ide...