`
nenty
  • 浏览: 109540 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Hibernate有两种配置文件格式

阅读更多
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,后者会覆盖前者相同的属
分享到:
评论
1 楼 lkjust08 2008-11-05  
学习了,感谢LZ分享

相关推荐

    hibernate-源代码-01

    Hibernate的配置文件,包含了连接持久层与映射文件所需的基本信息,其配置文件有两种格式,具 体如下: ● 一种是properties 属性文件格式的配置文件,它使用键值对的形式存放信息,默认文件名称 为 hibernate....

    spring+hibernate 两种整合方式配置文件的方法

    本篇文章主要介绍了spring+hibernate 两种整合方式配置文件的方法,主要有两种方式 1、注解方式 2、xml方式实现,有兴趣的可以了解一下。

    Hibernate实践例子程序

    1) Hibernate全局配置文件,hibernate.properties或者hibernate.cfg.xml.。一般使用XML文件。 2) 数据O/R mapping 配置文件,也就是数据库中每一条记录的详细说明,包括field, PrimaryKey等。*.hbm.xml,*一般用...

    Hibernate3.1_学习源码

    05 05Hibernate_EntityLayerDesign : 实体层的设计,演示两种情况: 1) 数据库表:一张主表,两张子表,子表共用主表数据,即外键关系 实体层设计:一个父类,两个子类,子类继承父类, 配置文件:只配置父类的...

    hibernate3.2中文文档(chm格式)

    3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的SessionFactory 3.8.3. 在JTA环境下使用Current Session context (当前session上下文)管理 3.8.4. JMX部署 4. 持久化...

    dwr配置文件和注解两种方式的两个demo,ssh项目使用dwr

    dwr配置文件和注解两种方式的两个demo, dwr框架在项目中的使用, 一个sprig3+dwr3+jpa+struts2,基于注解的完整demo 一个sprig2+dwr2+hibernate3+struts1,基于配置文件的完整demo ...

    springMVC + Hibernate 工程模板

    两种配置:oracle mysql,切换数据库只要把SessionFactory的配置文件改成对应就可以了 c3p0配置:mysql调试通过,oracle由于存在问题,未配置 spring配置式事务管理(jdk动态代理,每个service必须对应一个接口) ...

    hibernate 体系结构与配置 参考文档(html)

    XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的SessionFactory 3.8.3. 在JTA环境下使用Current Session context (当前session上下文)管理 3.8.4. JMX部署 4. 持久化类...

    hibernate入门实例操作步骤

    hibernate入门实例的具体操作,包括配置文件的手工和由eclipse生成两种方法

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...

    Hibernate+中文文档

    3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的SessionFactory 3.8.3. 在JTA环境下使用Current Session context (当前session上下文)管理 3.8.4. JMX部署 4. 持久化...

    Hibernate 中文 html 帮助文档

    3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的SessionFactory 3.8.3. 在JTA环境下使用Current Session context (当前session上下文)管理 3.8.4. JMX部署 4. 持久化类...

    深入浅出Hibernate源码

    建立最简单的项目基础结构:Board/User/Article三个类,包含最基本的配置文件。同时,在这一步中,建立测试类,刻画项目各个类之间的契约关系。 步骤2: 对文章的种类增加“投票”类型,展示对多型的处理。 步骤3: ...

    struts2+spring+hibernate(实现XML和Annotation两种方式操作数据库)

    struts2+spring+hibernate(实现XML和Annotation两种方式操作数据库) 项目描述: 框架及版本:struts2 + spring3.0 + hibernate3.3 所实现的功能说明 把两个对象存入到数据库中 1、一种方法采用XML文件映射的方式 2...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...

    Hibernate使用技巧汇总

    两种配置文件: A.hibernate.cfg.xml 和 B.hibernate.properties A中可含映射文件的配置,而B中hard codes加映射文件。 A。Configuration config=new Configuration().config(); B. ...

    hibernate 3中的缓存小结

    2) 选择合适的缓存插件,然后编辑该插件的配置文件。 2.4. 使用EhCache配置二级缓存: 2.4.1. 配置准备: 1) 把ehcache-1.2.3.jar加入到当前应用的classpath中。 2) 在hibernate.cfg.xml文件中加入EhCache缓存插件的...

    HibernateAPI中文版.chm

    3.7. XML配置文件 3.8. J2EE应用程序服务器的集成 3.8.1. 事务策略配置 3.8.2. JNDI绑定的SessionFactory 3.8.3. 在JTA环境下使用Current Session context (当前session上下文)管理 3.8.4. JMX部署 4. 持久化...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    12.4.1 Hibernate的两种配置方式 12.4.2 配置数据库连接池 12.4.3 使用JNDI 12.5 使用Hibernate的工具快速生成映射文件和POJO 12.5.1 使用MiddleGen根据数据库产生映射文件 12.5.2 使用hbm2java根据映射文件产生POJO...

    struts2+hibernate学习示例

    12、Hibernate的配置,详见hibernate.cfg.xml配置文件 13、Hibernare中数据库表和模型的映射,详见User.hbm.xml 14、Hibernate的过滤器设置,详见 shtest.HibernateFilter.java(这时候要注意在web.xml中的filter设置...

Global site tag (gtag.js) - Google Analytics