org.hibernate.cfg.Configuration
实例代表了一个应用程序中 Java 类型到SQL数据库映射的完整集合。org.hibernate.cfg.Configuration
被用来构建一个(不可变的(immutable))org.hibernate.SessionFactory
。映射定义则由不同的 XML 映射定义文件编译而来。
你可以直接实例化 org.hibernate.cfg.Configuration
来获取一个实例,并为它指定 XML 映射定义文件。如果映射定义文件在类路径(classpath)中,请使用 addResource()
。例如:
<a id="configuration-programmatic" style="text-decoration:none"><span class="java_type" style="color:rgb(0,0,0)">Configuration</span><span class="java_plain" style="color:rgb(0,0,0)"> cfg </span><span class="java_operator" style="color:rgb(0,0,0)">=</span><span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_keyword" style="font-weight:bold; color:rgb(127,27,85)">new</span><span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_type" style="color:rgb(0,0,0)">Configuration</span><span class="java_separator" style="color:rgb(0,0,0)">()</span>
<span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">addResource</span><span class="java_separator" style="color:rgb(0,0,0)">(</span><span class="java_literal" style="color:rgb(42,0,255)">"Item.hbm.xml"</span><span class="java_separator" style="color:rgb(0,0,0)">)</span>
<span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">addResource</span><span class="java_separator" style="color:rgb(0,0,0)">(</span><span class="java_literal" style="color:rgb(42,0,255)">"Bid.hbm.xml"</span><span class="java_separator" style="color:rgb(0,0,0)">);</span></a>
一个替代方法(有时是更好的选择)是,指定被映射的类,让 Hibernate 帮你寻找映射定义文件:
[JAVA] view plaincopy
<a id="configuration-programmatic" style="text-decoration:none"><span class="java_type" style="color:rgb(0,0,0)">Configuration</span><span class="java_plain" style="color:rgb(0,0,0)"> cfg </span><span class="java_operator" style="color:rgb(0,0,0)">=</span><span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_keyword" style="font-weight:bold; color:rgb(127,27,85)">new</span><span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_type" style="color:rgb(0,0,0)">Configuration</span><span class="java_separator" style="color:rgb(0,0,0)">()</span>
<span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">addClass</span><span class="java_separator" style="color:rgb(0,0,0)">(</span><span class="java_plain" style="color:rgb(0,0,0)">org</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">hibernate</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">auction</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_type" style="color:rgb(0,0,0)">Item</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_keyword" style="font-weight:bold; color:rgb(127,27,85)">class</span><span class="java_separator" style="color:rgb(0,0,0)">)</span>
<span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">addClass</span><span class="java_separator" style="color:rgb(0,0,0)">(</span><span class="java_plain" style="color:rgb(0,0,0)">org</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">hibernate</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">auction</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_type" style="color:rgb(0,0,0)">Bid</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_keyword" style="font-weight:bold; color:rgb(127,27,85)">class</span><span class="java_separator" style="color:rgb(0,0,0)">);</span></a>
Hibernate 将会在类路径(classpath)中寻找名字为 /org/hibernate/auction/Item.hbm.xml 和/org/hibernate/auction/Bid.hbm.xml 映射定义文件。这种方式消除了任何对文件名的硬编码(hardcoded)。
org.hibernate.cfg.Configuration > 也允许你指定配置属性。例如:
[JAVA] view plaincopy
<a id="configuration-programmatic" style="text-decoration:none"><span class="java_type" style="color:rgb(0,0,0)">Configuration</span><span class="java_plain" style="color:rgb(0,0,0)"> cfg </span><span class="java_operator" style="color:rgb(0,0,0)">=</span><span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_keyword" style="font-weight:bold; color:rgb(127,27,85)">new</span><span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_type" style="color:rgb(0,0,0)">Configuration</span><span class="java_separator" style="color:rgb(0,0,0)">()</span>
<span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">addClass</span><span class="java_separator" style="color:rgb(0,0,0)">(</span><span class="java_plain" style="color:rgb(0,0,0)">org</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">hibernate</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">auction</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_type" style="color:rgb(0,0,0)">Item</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_keyword" style="font-weight:bold; color:rgb(127,27,85)">class</span><span class="java_separator" style="color:rgb(0,0,0)">)</span>
<span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">addClass</span><span class="java_separator" style="color:rgb(0,0,0)">(</span><span class="java_plain" style="color:rgb(0,0,0)">org</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">hibernate</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">auction</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_type" style="color:rgb(0,0,0)">Bid</span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_keyword" style="font-weight:bold; color:rgb(127,27,85)">class</span><span class="java_separator" style="color:rgb(0,0,0)">)</span>
<span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">setProperty</span><span class="java_separator" style="color:rgb(0,0,0)">(</span><span class="java_literal" style="color:rgb(42,0,255)">"hibernate.dialect"</span><span class="java_separator" style="color:rgb(0,0,0)">,</span><span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_literal" style="color:rgb(42,0,255)">"org.hibernate.dialect.MySQLInnoDBDialect"</span><span class="java_separator" style="color:rgb(0,0,0)">)</span>
<span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">setProperty</span><span class="java_separator" style="color:rgb(0,0,0)">(</span><span class="java_literal" style="color:rgb(42,0,255)">"hibernate.connection.datasource"</span><span class="java_separator" style="color:rgb(0,0,0)">,</span><span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_literal" style="color:rgb(42,0,255)">"java:comp/env/jdbc/test"</span><span class="java_separator" style="color:rgb(0,0,0)">)</span>
<span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_separator" style="color:rgb(0,0,0)">.</span><span class="java_plain" style="color:rgb(0,0,0)">setProperty</span><span class="java_separator" style="color:rgb(0,0,0)">(</span><span class="java_literal" style="color:rgb(42,0,255)">"hibernate.order_updates"</span><span class="java_separator" style="color:rgb(0,0,0)">,</span><span class="java_plain" style="color:rgb(0,0,0)"> </span><span class="java_literal" style="color:rgb(42,0,255)">"true"</span><span class="java_separator" style="color:rgb(0,0,0)">);</span></a>
当然这不是唯一的传递 Hibernate 配置属性的方式,其他可选方式还包括:
分享到:
相关推荐
Hibernate 提供了可编程的配置方式,这允许你在代码中动态地设置配置信息。这种方式可以避免在XML中硬编码类名或路径,提高代码的灵活性。例如: ```java Configuration cfg = new Configuration() .addClass(org....
Hibernate是Java领域中一款广泛应用的关系对象映射框架,它允许开发者将数据库操作抽象化,以对象的方式进行处理,极大地简化了数据库编程。`hibernate.properties`是Hibernate的核心配置文件,用于设定与数据库连接...
通过以上步骤,你已经成功地将Spring和Hibernate整合在一起,使用全XML配置方式实现了数据访问层。这种方式虽然较为繁琐,但能清晰地分离各层职责,便于管理和维护。在实际项目中,还可以考虑使用注解配置或者Spring...
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,用于构建高效、可维护的企业级应用程序。Spring作为一个全面的后端框架,提供了依赖注入、AOP(面向切面编程)、事务管理等核心...
- **配置简化**:Spring支持多种配置方式,包括XML、注解等,这有助于简化Hibernate配置的复杂性。 #### 三、Spring与Hibernate整合的核心配置 根据给定的部分内容,我们可以看到一个典型的Spring配置示例,用于...
- 可以使用XML或注解方式配置Hibernate会话工厂,进一步简化Hibernate的初始化过程。 4. **测试支持**: - Spring框架提供了丰富的测试支持,可以帮助开发者更容易地对Hibernate相关的业务逻辑进行单元测试和集成...
在传统的Struts、Spring和Hibernate整合中,大量的XML配置文件是必不可少的,包括struts.xml、spring-context.xml、hibernate.cfg.xml等。然而,随着Java注解的发展,许多配置可以通过在类或方法上添加注解来完成,...
【精通Hibernate数据库编程】是针对初学者设计的学习资源,旨在帮助快速掌握Hibernate这一强大的Java对象关系映射(ORM)框架。Hibernate是Java开发中的一个重要工具,它简化了数据库操作,使得开发者可以更专注于...
SpringMVC、Spring和Hibernate是Java开发中三大重要的框架,它们各自负责Web应用程序的不同层面,协同工作以构建高效、可维护的系统。SpringMVC作为Spring框架的一部分,主要用于处理HTTP请求,Spring则提供了依赖...
Hibernate是一款强大的对象关系映射(ORM)框架,它允许开发者使用面向对象的编程方式来处理数据库操作,极大地简化了Java应用程序中的数据存取工作。在Java项目中使用Hibernate时,配置文件和相应的jar包是必不可少...
4. **配置Hibernate**:配置Hibernate的SessionFactory,指定使用的数据源,并启用JTA事务。 5. **配置Spring事务管理器**:创建Atomikos事务管理器的bean,并配置Spring的PlatformTransactionManager,指定使用...
通过这样的配置,开发人员可以实现松耦合、可测试和易于维护的代码。然而,随着技术的发展,现代的应用更多地转向了Java配置和注解驱动的方式,如Spring Boot,这使得配置更简洁,开发更高效。尽管如此,理解XML配置...
- 会话工厂配置:`<session-factory>`元素是配置的主要部分,其中包含了许多可配置的属性,例如缓存策略、查询语言、事务隔离级别等。 - 其他配置:如方言(Dialect)、实体别名、自动创建/更新/验证数据库结构等...
在IT行业中,Spring、Hibernate和Maven是三个非常重要的开源框架,它们分别专注于不同领域,但协同工作可以构建出高效、可维护的Java Web应用程序。本文将深入探讨如何结合这三个工具进行“零配置”开发。 首先,让...
在Spring框架中集成和配置Hibernate事务管理是企业级Java应用中的常见实践,它能提供高效且灵活的事务处理策略。Spring作为一款强大的依赖注入(DI)和面向切面编程(AOP)容器,能够轻松地管理和协调不同数据访问...
Hibernate是一个强大的Java对象关系映射(ORM)框架,它消除了传统SQL编程的繁琐,提供了更高层次的抽象,使我们能够用面向对象的方式处理数据。 1. **SessionFactory接口**: SessionFactory是Hibernate的核心组件...
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端...
它们各自专注于应用程序的不同层次:Struts在表现层提供MVC(Model-View-Controller)架构,Hibernate处理持久层对象与数据库之间的交互,而Spring则是一个全面的后端解决方案,涵盖了依赖注入、AOP(面向切面编程)...
1. **hibernate.cfg.xml**:这是Hibernate的核心配置文件,包含了数据库连接参数、事务管理、缓存配置等信息。例如,`driver_class`指定数据库驱动,`connection_url`定义数据库URL,`username`和`password`为数据库...