Hibernate有两种配置文件格式,一种是XML,默认为hibernate.cfg.xml,一种是properties,默认为hibernate.properties
不同的配置文件,对Hibernate的初始化方法是不一样的。
1. 如果采用properties文件作为配置文件
那么初始化的代码大致为:
Configuration config = new Configuration();
config.addClass(myclass.class);
2. 如果配置文件为XML,则
Configuration config = new Configuration().config();
XML文件格式的配置文件不支持addClass方法!
这是因为在配置文件XML文件中,已经定义了Mapping文 件,因此就不需要在用编码方式导入POJO文件了。
很多朋友不知道两者的区别,我在这里详细说说吧。
如果是使用hibernate.properties作为配置文件的话,配置文件的内容大概是这样的:
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/work
hibernate.connection.username=root
hibernate.connection.password=1234
hibernate.show_sql=true
而我们想用hibernate.cfg.xml的话,内容大概是这样的:
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="connection.url">jdbc:mysql://localhost:3306/work</property>
<property name="connection.username">root</property>
<property name="connection.password">1234</property>
<mapping resource="bean/Note.hbm.xml"/>
<mapping resource="bean/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
大家有没有发现什么不同的地方呢?对了,以hibernate.properties配置的话,没有配置被映射的类 。那hibernate不能在hibernate.properties中知道需要映射的类,在哪里我们能让它知道呢?答案就在源文件里了。
当我们使用hibernate.properties作为配置文件的时候,我们的源文件中需要这样构造一个config:
Configuration config = new Configuration();
config.addClass(User.class).addClass(Note.class);
SessionFactory sf = config.buildSessionFactory();
Session session = sf.openSession();
这里的config我们必须调用addClass()方法,这就是我们使hibernate知道映射类的地方了。当然使用hibernate.cfg.xml来配置的话,我们就可以这样写:
Configuration config = new Configuration();
SessionFactory sf = config.configure("/hibernate.cfg.xml").buildSessionFactory();
//这里调用了configure()方法来指定hibernate.cfg.xml的位置
Session session = sf.openSession();
我们就不用再配置需要映射的类了,重复配置的话会出现重复映射异常。
总之,我们要使用两种方法其中一种就行了,就是说如果hibernate.cfg.xml中没有说明映射关系的话,在源文件中使用addClass()方法就可以了,但不能重复!。
另外,在hibernate的启动过程中,会先找hibernate.properties,然后读取hibernate.cfg.xml,后者会覆盖前者相同的属
分享到:
相关推荐
标题"hibernate+spring配置文件"指出了我们需要关注的重点,即如何将这两个框架协同工作。首先,我们需要在Spring的配置文件中引入Hibernate的相关bean,通常命名为`applicationContext.xml`。这个文件是Spring的IoC...
在`Hibernate`与`Spring`的整合中,通常会有一个`hibernate.cfg.xml`配置文件,用来定义数据库连接信息、实体类的映射等。同时,`Spring`的配置文件(如`applicationContext.xml`)中会包含`Hibernate`的相关bean...
事务管理在Spring中可以有编程式和声明式两种方式。在SSH整合中,通常采用声明式事务管理,通过在服务层方法上添加@Transactional注解,Spring会自动进行事务的开启、提交或回滚。例如: ```java @Service public ...
本篇文章将深入探讨Hibernate框架中常用的jar包以及两个核心配置文件。 一、Hibernate常用jar包 1. **hibernate-core.jar**:这是Hibernate的核心库,包含了所有必要的API和实现,包括Entity管理、Session接口、...
Hibernate配置文件可以采用两种格式: 1. **`hibernate.properties`**:一种基于属性文件的格式。 2. **`hibernate.cfg.xml`**:一种基于XML的格式,更常见且功能更强大。 通常情况下,推荐使用`hibernate.cfg.xml`...
5. **Query和Criteria API**:Hibernate提供了两种查询方式。HQL(Hibernate Query Language)类似SQL,但针对对象模型。Criteria API则是更面向对象的查询方式,可以动态构建查询条件,避免SQL字符串拼接。 6. **...
在本项目中,我们需要配置Spring的事务管理器,一般有两种方式:编程式事务管理和声明式事务管理。声明式事务管理更为常见,它通过在服务层的方法上添加@Transactional注解,由Spring自动进行事务的开启、提交或回滚...
Hibernate 配置文件加密解密方案 在本文中,我们将讨论如何在 Hibernate 配置文件中对数据库密码进行加密和解密,以保护数据的安全。该方案通过使用 Java 的 Cipher 类和 DES 对称加密算法来实现加密和解密操作。 ...
本文将详细讨论`hibernate.properties`和`hibernate.cfg.xml`这两种配置文件的使用。 1. **hibernate.properties**: - 这是Hibernate的一种配置方式,通常用于较简单的设置。在Hibernate 3.1的`etc`目录下提供了...
最常见的两种API是JDBC和封装了JDBC的框架如Hibernate/MyBatis。JDBC是Java与数据库交互的标准API,位于java.sql.*包中。虽然JDBC功能强大,但编写代码较为繁琐,需要处理大量的细节。而Hibernate/MyBatis是JDBC的...
`hibernate.cfg.xml` 是 Hibernate 框架的核心配置文件之一,它主要用于配置 Hibernate 的运行环境。通过该文件,开发者可以指定数据库连接信息、日志级别、性能优化参数等关键配置。正确配置此文件对于 Hibernate ...
4. **一对一关系**:例如,用户与身份证一对一关系,可以使用`one-to-one`标签,有两种实现方式:主键共享和外键引用。 5. **继承映射**:分为简单继承和复杂继承。简单继承中,父类不映射,只映射子类。复杂继承则...
Hibernate的配置文件,包含了连接持久层与映射文件所需的基本信息,其配置文件有两种格式,具 体如下: ● 一种是properties 属性文件格式的配置文件,它使用键值对的形式存放信息,默认文件名称 为 hibernate....
总之,Hibernate 4 的基本配置包括了XML配置文件、编程式配置、数据库连接方式(JDBC或DataSource)、连接池配置以及事务管理。理解并熟练掌握这些配置方法对于高效使用 Hibernate 进行数据库操作至关重要。
在Spring和Hibernate整合的过程中,配置文件的设置是关键步骤,本文将详细介绍两种不同的整合方法:注解方式和XML方式。 1. **注解方式实现**: 在Spring中使用注解方式进行整合,主要体现在对数据访问层(DAO)的...
Hibernate支持两种主要的映射方式:XML映射文件和注解映射。然而,默认情况下,一个项目只能选择其中一种方式进行配置。但有时候,根据项目需求,可能需要同时使用XML和注解映射。在这种情况下,我们需要进行一些...
三、创建 Hibernate 配置文件 选择 Eclipse 的下拉菜单 Window->Show View->Other->Hibernate->Hibernate Configurations,现在就可以查看 Hibernate 的配置窗口了。在窗口中单击右键 Add Configuration,出现 Edit...
- MyEclipse会自动生成`hibernate.cfg.xml`文件以及`SessionFactory`的Java配置文件。 - 用户可以根据需要修改这些配置文件中的属性。 5. **编写实体类与映射文件**: - 实体类对应数据库表中的每一行记录,映射...
Hibernate支持两种类型的查询:原生SQL和HQL(Hibernate Query Language)。HQL是一种面向对象的查询语言,类似于SQL,但更贴近于Java对象。以下是一个HQL查询的例子: ```java Query query = session.createQuery...