03. 對映檔案的載入方式和Hibernate.properties的使用
阿新 • • 發佈:2019-02-01
對映檔案的載入方式和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");*/