1. 程式人生 > >03. 對映檔案的載入方式和Hibernate.properties的使用

03. 對映檔案的載入方式和Hibernate.properties的使用

對映檔案的載入方式和Hibernate.properties的使用

對映檔案的載入方式

我們通常將Hibernate的對映檔案配置在Hibernate的核心配置檔案中,因此當Configuration物件載入配置檔案時,也會載入配置在其中的對映檔案。如果沒有配置對映檔案,則在執行資料庫操作時會找不到實體類,發生 org.hibernate.MappingException 異常,告訴我們 Unknown entity。

實際上我們還有其他的方式來載入對映檔案,不過以下兩種使用硬編碼的載入方式並不推薦使用,使用配置的方式來載入更方便也更容易維護。

新增Resource
/*建立Configuration物件,並讀取指定的Hibernate核心配置檔案*/
Configuration config=new Configuration(); config.configure("hibernate.cfg.xml"); /*載入對映檔案方式二*/ config.addResource("com/li/pojo/Student.hbm.xml"); /*還可以載入多個對映檔案*/ config.addResource("com/li/pojo/Student2.hbm.xml");
反射機制
/*建立Configuration物件,並讀取指定的Hibernate核心配置檔案*/
Configuration config=new Configuration();
config.configure("hibernate.cfg.xml"
); config.addClass(Student.class);

Hibernate.properties的使用

我們使用 Hibernate.cfg.xml 這種 XML 檔案的形式來配置相關的引數,還可以使用 Hibernate.properties 這種鍵值對的方式來配置相關的引數。

在我們下載的開發包裡面,hibernate-release-5.2.0.Final\project\etc 目錄下,有 Hibernate.properties 和 Hibernate.cfg.xml 的模板檔案。

我們可以將 Hibernate.properties 檔案複製到工程的src目錄下,針對我們所需,配置相關引數。

hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.username=root
hibernate.connection.password=123456
hibernate.connection.url=jdbc:mysql://localhost:3306/learning?useSSL=true
hibernate.show_sql=true

這種方式和 Hibernate.cfg.xml 配置類似,鍵名稱就是 Hibernate.cfg.xml 中 property標籤的 name 屬性值(只不過縮寫了hibernate)。

這種方式不能在這裡面配置對映檔案,所以我們只能去程式碼中硬載入對映檔案(還是XML檔案配置好用)。

/*建立Configuration物件,並讀取指定的Hibernate核心配置檔案*/
Configuration config=new Configuration();

/*properties配置不需要載入,自動載入*/
//config.configure("hibernate.cfg.xml");

config.addClass(Student.class);
/*config.addResource("com/li/pojo/Student.hbm.xml");*/