NHibernate.cfg.xml文件总结

A. 问题:

NHibernate.cfg.xml用来干什么的?

答:

配置数据库的基本信息和configuration和sessionFactory实例的基本信息的配置文件。

B. 如何配置NHibernate.cfg.xml文件?

答:

  1. 第一种方式

Configuration config = new Configuration();

这种配置方法将会到应用程序配置文件(App.Config,Web.Config)中查找NHibernate的配置信息,NHibernate的配置节必须符合应用程序配置文件个格式。

下面是该种方式的一个例子:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- Add this element -->
<configSections>
    <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate"/>
</configSections>

<!-- Add this element -->
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.connection_string">Server=TLSZ207/SQLEXPRESS;initial catalog=Test;Integrated Security=true</property>
</session-factory>
</hibernate-configuration>
<!-- Leave the system.web section unchanged -->
<system.web>
</system.web>
</configuration>

2.第二种方式

Configuration config = new Configuration().Configure();

这种配置方法将会在应用的相同目录查找名为”hibernate.cfg.xml”的标准Hibernate配置

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration  xmlns="urn:nhibernate-configuration-2.0" >
 <session-factory name="MySessionFactory">
              <!-- properties -->
              <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
              <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
              <property name="connection.connection_string">Server=localhost;initial catalog=Hibernate;Integrated Security=SSPI</property>
              <property name="show_sql">false</property>
              <property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>
              <property name="use_outer_join">true</property>
              <property name="query.substitutions">true 1, false 0, yes ‘Y‘, no ‘N‘</property>

              <!-- mapping files -->
              <mapping assembly="Test.Model" />
       </session-factory>
</hibernate-configuration>

3.第三方式

这种配置方法将查找指定的Hibernate标准配置文件,可以是绝对路径或者相对路径。还可以通过编码的方式来添加配置信息:Configuration config = new Configuration().Configure(NHibernate.cfg.xml配置文件路径);

映射文件: 
  所有的XML映射都需要使用nhibernate-mapping-2.0 schema。目前的schema可以在NHibernate的资源路径或者是NHibernate.dll的嵌入资源(Embedded Resource)中找到。NHibernate总是会优先使用嵌入在资源中的schema文件。你可以将hibernate-mapping拷贝到C: /Program Files/Microsoft Visual Studio .NET 2013/Common7/Packages/schemas/xml路径中,以获得智能感知功能

时间: 2024-10-10 02:26:28

NHibernate.cfg.xml文件总结的相关文章

Hibernate.cfg.xml文件的配置

1.  Hibernate配置 1.1.  可编程的配置方式 一个org.hibernate.cfg.Configuration 实例代表了一个应用程序中Java类型到SQL数据库映射的完整集合.Configuration被用来构建一个 SessionFactory. 映射定义则由不同的XML映射定义文件编译而来. 可以直接实例化Configuration来获取一个实例,并为它指定XML映射定义文件. 如果映射定义文件在类路径(classpath)中,请使用addResource(): Conf

hibernate 不能解析hibernate.cfg.xml 文件

1.hibernate解析hibernate.cfg.xml 文件时出现如下错误. org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1542)    at org.hibernate.cfg.Configuration.configure(C

在Idea中自动生成实体类和hibernate.cfg.xml文件

1 按快捷键 ctrl+shift+alt+s调出project structure菜单, 点击项目名称, 添加hibernate模块, 在最右侧点击+号, 添加hibernate.cfg.xml文件 2 点击DataBase中的+号 ,连接 mysql数据库 选择数据库名称,  建立连接 3 在persistence窗口中, 右键, genarate persistence mapping -> from database schema  弹出创建对话框, 配置完点击ok即可 4 如果没有pe

将hibernate.cfg.xml文件都放到spring中时报错

报错如下所示: 私以为是配置文件出现问题了. <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.

hibernate.cfg.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"> <!-- Generated by MyE

hibernate--hibernate.cfg.xml常用配置详解

在hibernate中最重要的两个配置文件就是hibernate.cfg.xml和xxx.hbm.xml文件,前者是一些配置信息,后者是配置表和对象的映射关系,可以通过注解的方式来取代. 本篇文章主要详细讨论下hibernate.cfg.xml文件的配置. 首先hibernate.cfg.xml的模板文件在hibernate-release-5.2.7.Final\project\etc\hibernate.cfg.xml就有.

解决离线Could not parse configuration:hibernate.cfg.xml错误

离线使用hibernate tool 生成反向工程,在配置 配置文件完,生成配置文件后,会报出org.hibernate.HibernateException: Could not parse configuration:错误 原因:就是读取不到本地dtd约束,然后必须每次联网加载才行,具体原因不了解,因为网络这方面的解答都比较模糊,应该是小范围问题,感觉是jdk与tools要求版本不一致,导致部分插件未正常安装,解析出现问题 解决方式(同理可解决映射文件出现的解析不成的问题) : 首先确认cf

NHibernate.Cfg.HibernateConfigException

在用NHibernate 框架做web 项目时,当项目被成功编译后,按F5 启动调试时,一开始就出现这个错误,刚开始就很郁闷,到底出在哪里?连自己都 不知道,在网上搜来搜去,找了很多的资料终于弄明白了,其实是一个很简单,也很容易被忽略的问题: Bug出现原因:默认的情况下,nhibernate.cfg.xml 的编译方式是内容,复制方式是不复制的,然而 nhibernate 框架在加载这个配置文件时,就会在当前运行的程序的启动目录中去寻找这个配置文件,这样一来,在程序的启动目录中当然是找不到了,

用hibernate.properties代替hibernate.cfg.xml配置常用的属性

我们使用hibernate时经常在hibernate.cfg.xml文件中配置数据库连接的相关属性,是否显示sql语句,数据库的方言等,这些配置其实也可以在.properties文件中配置.现在我把这把文件的名字起为:hibernate.properties. 思路:写一个domian对象,以及这个domain对象映射到数据库中的.hbm.xml文件.和一个测试类(这个测试类是更新数据库中的一条数据) 以及hibernate.properties文件(这个文件是放在src的下面即在classPa