Hibernate可以使用XML檔案或properties檔案來配置SessionFactory,預設的配置文件名稱為 hibernate.cfg.xml或hibernate.properties,使用下面的方式來讀入文件以配置Hibernate:
Configuration config = new Configuration().configure();
當您使用new建構Configuration物件時,會讀取Classpath路徑下的 hibernate.properties,如果您呼叫Configuration的configure()方法沒有指定路徑與檔案名稱時,則會再讀取 Classpath路徑下的hibernate.cfg.xml,如果有與hibernate.properties相同的屬性設定,則 hibernate.cfg.xml中的設定會覆蓋hibernate.properties中的設定。 前幾個主題中所示範的為使用XML文件的方式,一個XML文件的例子如下:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- 顯示實際操作資料庫時的SQL --> <property name="show_sql">true</property> <!-- 將顯示的SQL排版,方便觀看 --> <property name="format_sql">true</property> <!-- SQL方言,這邊設定的是MySQL --> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!-- JDBC驅動程式 --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <!-- JDBC URL --> <property name="connection.url">jdbc:mysql://localhost/demo</property> <!-- 資料庫使用者 --> <property name="connection.username">caterpillar</property> <!-- 資料庫密碼 --> <property name="connection.password">123456</property> <!-- 物件與資料庫表格映射文件 --> <mapping resource="onlyfun/caterpillar/User.hbm.xml"/> </session-factory> </hibernate-configuration> 預設的XML配置文件名稱是hibernate.cfg.xml,您也可以自行指定檔案路徑與名稱,例如: Configuration config = new Configuration().configure("/config/db.cfg.xml");
在取得Configuration實例後,您還可以撰寫程式的方式來設定新的屬性,或甚至讀入另一個HBM設定檔案,例如: Configuration config = new Configuration
.configure() .setProperty(Environment.FORMAT_SQL, "true") .addResource("onlyfun/caterpillar/Room.hbm.xml"); 所有的屬性設定,在Hibernate中都對應於Environment類別中的一個靜態成員,例如format_sql就對 應於Enviromnent.FORMAT_SQL,connection.driver_class就對應於Environment.DRIVER。 為了配置文件時更有彈性,您可以使用系統屬性來指定,例如在hibernate.cfg.xml中撰寫:
...
<property name="show_sql">${displaysql}</property> <!-- 將顯示的SQL排版,方便觀看 --> ... 如此,若在啟動Java時,加上-Ddisplaysql=true,則可觀看到產生的SQL語句。 使用屬性檔案進行配置時,檔案名稱是hibernate.properties,必須放置在Classpath之下,一個例子如下:
hibernate.show_sql = true hibernate.format_sql = true hibernate.dialect = org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class = com.mysql.jdbc.Driver hibernate.connection.url = jdbc:mysql://localhost/demo hibernate.connection.username = caterpillar hibernate.connection.password = 123456 由於properties檔案中不包括映射文件的名稱,為了要取得物件至資 料庫表格的映射文件,您必須在程式中如下載入: Configuration cfg = new Configuration()
.addClass(onlyfun.caterpillar.User.class) .addClass(onlyfun.caterpillar.Room.class); 第一個addClass()加入位於Classpath根目錄下的User.hbm.xml,第二個addClass()加入Room類別的映射文件,該 文件必須位於與User類別同一個目錄,也就是onlyfun/caterpillar/Room.hbm.xml。 在Hibernate下載檔案中的etc目錄下,有hibernate.cfg.xml與hibernate.properties可供設定參考。 Configuration的實例管理Hibernate的配置訊息,通常用於建立SessionFactory,例如: SessionFactory sessionFactory = config.buildSessionFactory();
SessionFactory一旦建立,就被賦予當時Configuration的配置訊息,之後您改變Configuration並不會影響已建立的 SessionFactory實例,如果對Configuration改動後,則要建立一個新的SessionFactory實例,新的實例中會包括新的 配置訊息, SessionFactory是被設計為「執行緒安全的」(Thread-safe)。 |
- 浏览: 90829 次
- 性别:
- 来自: 北京
文章分类
最新评论
发表评论
-
代码整洁之道clean code
2017-01-20 16:31 1132最近接手的一个项目,说的不好听,代码写的就是一堆shit,代 ... -
思考、学习新技术的原则和方式(转自四火的唠叨)
2013-08-26 16:45 871先看下面这样的困惑: ... -
Spring mvc中@RequestMapping 6个基本用法小结(转jackyrong)
2013-02-18 11:14 1033小结下spring mvc中的@RequestMappi ... -
java.sql.SQLSyntaxErrorException: ORA-02289: 序列不存在
2013-01-28 17:24 5220org.hibernate.id.IdentifierGen ... -
Hibernate使用sql语句查询
2013-01-25 14:42 2081Hibernate提供了對SQL的支援,您可以指 ... -
Hibernate ORM 映射文件
2013-01-25 10:40 898Hibernate 中將物件與資料庫表格映射關係連接起 ... -
第二个hibernate
2013-01-24 16:47 749在 第一個 Hibernate 中介紹如何使用Hiberna ... -
第一个hibernate
2013-01-24 16:46 774這邊以一個簡單的單機 ... -
Hibernate 配置
2013-01-24 16:41 746Hibernate是ORM的解決方案,其底層對資料庫的操作依 ... -
Hibernate 物件识别
2013-01-24 16:37 888對Java而言,要識別兩個物件是否為同一個物件有兩種方式, ... -
程序猿都应该去写一写前端代码
2013-01-22 10:29 872你可以认为我是一个极端的人,就像有许多人专注于自己的领域而 ... -
我给媳妇解释设计模式:第一部分
2013-01-15 14:11 835英文原文:How I explained De ... -
我是怎样教媳妇面向对象编程的
2013-01-15 14:04 991我老婆 Farhana想要 ... -
运维架构师-并不遥远的彼岸
2012-11-30 10:29 828在百度里搜索运维架构师,你会发现招聘的职位还不少并且月薪、年薪 ... -
CIO:信息化项目实施过程中如何做数据规划?(3)
2012-11-10 09:48 671三、有效的数据准备工作 “不积跬步,无以至千里;不积小流 ... -
CIO:信息化项目实施过程中如何做数据规划?(2)
2012-11-10 09:47 617二、数据准备重难点 ... -
CIO:信息化项目实施过程中如何做数据规划?(1)
2012-11-10 09:46 1093数据准备工作作为信息系上线的基础工作,得到了广泛的重视,但是因 ...
相关推荐
Hibernate 配置文件详解 Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,用于简化 Java 应用程序中的数据库交互。 Hibernate 的配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。下面...
标题"hibernate--5.Hibernate配置文件详解"暗示我们将探讨的是Hibernate 5版本的配置细节。这个版本引入了一些新特性和改进,同时也保持了对前一版本的兼容性。配置文件是Hibernate的核心部分,它定义了与数据库的...
标题"hibernate--5.Hibernate配置文件详解-2"暗示我们将继续上一节的内容,进一步深入理解Hibernate配置文件的各个方面。通常,Hibernate的配置文件以`hibernate.cfg.xml`的形式存在,它是项目初始化和连接数据库的...
Hibernate配置文件hibernate.cfg.xml中配置信息详解!
Hibernate配置文件主要包含数据库连接信息、JDBC驱动、实体类映射等。例如: ```xml <hibernate-configuration> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect <property name="...
### Hibernate配置文件详解 #### Hibernate概述 Hibernate是一个开源的对象关系映射(ORM)框架,它为Java应用程序提供了简化的方式去处理数据库操作。通过使用Hibernate,开发者可以将Java对象映射到数据库表,并...
**Hibernate配置文件详解** Hibernate,一个强大的Java持久化框架,为开发者提供了对象关系映射(ORM)服务,简化了数据库操作。在Hibernate中,`hibernate.cfg.xml`是核心配置文件,它定义了数据库连接、实体管理...
### Hibernate配置文件元素详解 #### 一、概述 在SSH(Spring+Struts+Hibernate)框架中,Hibernate作为持久层框架扮演着非常重要的角色。它能够实现对象关系映射(ORM),将Java对象映射到数据库表上。为了正确地...
《Hibernate配置文件详解》 Hibernate,作为Java领域中广受欢迎的对象关系映射(ORM)框架,简化了数据库操作,使得开发者可以使用面向对象的方式处理数据。在Hibernate的应用中,配置文件起着至关重要的作用,它...
《Hibernate配置文件详解与必备库解析》 在Java开发领域,Hibernate作为一个强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,要充分利用Hibernate的功能,理解其配置文件和依赖库至关重要。本文将...
hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置实体规则,核心API详解(Configuration,sessionFactory,session,Transaction),hibernate中的对象状态以及刷新能缓存机制 ...
Hibernate_映射配置文件详解,很好用的学习文件
Spring 配置文件详解 Spring 配置文件是 Spring 框架中最重要的配置文件之一,它负责定义和配置应用程序的Bean对象,以及它们之间的依赖关系。Spring 配置文件通常以XML文件的形式存在,文件名通常为...
### Hibernate自动生成配置文件详解 #### 一、Hibernate与自动生成配置文件的重要性 在Java开发领域,Hibernate作为一款优秀的对象关系映射(Object-Relational Mapping,简称ORM)框架,极大地简化了Java应用与...
### Hibernate配置文件详解 在Java开发环境中,Hibernate作为一款优秀的对象关系映射(Object-Relational Mapping,简称ORM)框架,极大地简化了数据库操作过程。本文将深入探讨Hibernate配置文件的相关知识点,...