Nhibernate 注意总结

滑模控制理论(SMC)概述 滑模控制理论(SMC)概述一、背景二、数学理论三、高维拓展四、分析 一、背景 滑模控制理论(Sliding Mode Control, SMC)是一种建立在现代控制理论基础上的控制理论,主要数学核心为李雅普诺夫函数。 滑模控制的核心思想是建立一个滑模面,将被控系统拉取到滑模面上来,使系统沿着滑模面运动。滑模控制的一个优势是无视外部扰动和不确定参数,采用一种比较“暴力”的方式达到控制的目的。 其思想和反步法有些类似,但数学实现起来更加方便而不抽象。相比反步法,滑模控制没有复杂的数学计算,也不会出现“微分爆炸” 阅读详情

1.持久化类(Customer)和映射xml(Customer.hbm.xml)

如果持久化类的namespace Entities那么xml生成时的路径要为bin\Debug\Customer.hbm.xml。

2.Customer.hbm.xml属性 -->生成操作为“嵌入的资源”;----->复制到输出目录为“始终复制”。

<?xml version="1.0" encoding="utf-8" ?>
<!--映射Customer的xml 设置为嵌入资源-->
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" default-lazy="false">
  <!-- 命名空间 程序集名-->
  <class name="Entities.Customer,Entities" table="customer">
    <!--类名 表名-->
    <id name="Id" unsaved-value="null">
      <!--专门放置主键-->
      <column name="id" length="4" sql-type="Int32" not-null="true" unique="true" />
      <generator class="native" />
    </id>
    <property name="FirstName" column="firstname" type="string" length="50"  />
    <!-- 字段名 -->
    <property name="LastName" column="lastname" type="string" length="50" />
  </class>
</hibernate-mapping>

3.持久化类(Customer)要设置为[Serializable],属性要为virtual。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Entities
{
    [Serializable]//可序列化
    public class Customer
    {
        //NHibernate对属性使用的类型不加任何限制。所有的.NET类型和原始类型(比如string,char和DateTime)都可以被映射,
        //也包括.Net 集合(System.Collections)中的类。你可以把它们映射成为值,值集合,或者与其他实体类相关联。Id是一个特殊的属性,
        //代表了这个类的数据库标识符(主键),对于类似于Cat这样的实体类我们强烈建议使用。NHibernate也可以使用内部标识符,
        //但这样我们会失去一些程序架构方面的灵活性。
        //持久化类不需要实现什么特别的接口,也不需要从一个特别的持久化根类继承下来。NHibernate也不需要使用任何编译期处理,
        //比如IL操作,它独立的使用.Net反射机制和运行时类增强(通过Castle.DynamicProxy2 library)。
        //所以不依赖于NHibernate(POJO的类不需要依赖NHibernate),我们就可以把POJO的类映射成为数据库表。
        //为了让上面提到运行时类增强功能生效,NHibernate持久化类的所有的public的属性必须声明为virtual。
        
        private int _id;
        //为了使持久化类可被映射 public virtual
        public virtual int Id
        {
            get { return _id; }
            set { _id = value; }
        }
        private string _firstName;

        public virtual string FirstName
        {
            get { return _firstName; }
            set { _firstName = value; }
        }
        private string _lastName;

        public virtual string LastName
        {
            get { return _lastName; }
            set { _lastName = value; }
        }
    }
}

4.nhibernate2.2的hibernate.cfg.xml配置文件

<?xml version="1.0" encoding="utf-8"?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <!-- properties -->
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Data Source=.;Initial Catalog=mytemp;Integrated Security=True</property>
    <property name="show_sql">true</property>
    <property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
    <property name="use_outer_join">true</property>
    <property name="query.substitutions">true 1, false 0, yes 'Y', no 'N'</property>
    <property name="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory,NHibernate.ByteCode.Castle</property>
    <!-- mapping assembly -->
    <mapping assembly="Entities" />
  </session-factory>
 </hibernate-configuration>

//配置Configuration
            Configuration cfg = new Configuration().Configure(
                Assembly.GetExecutingAssembly(), //当前代码正从中运行的程序集。
                TestHelper.NAMEPLACENAME + ".hibernate.cfg.xml");
            //测试
            TestHelper.CheckConfiguration(cfg);

hibernateA.cfg.xml

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    省略
    <!-- mapping files -->
    <mapping file="Customer.hbm.xml"/>
  </session-factory>
</hibernate-configuration>

//配置Configuration
            Configuration cfg = new Configuration().Configure(
                Assembly.GetExecutingAssembly(), //当前代码正从中运行的程序集。
                TestHelper.NAMEPLACENAME + ".hibernateA.cfg.xml");
            //测试
TestHelper.CheckConfiguration(cfg);


hibernateB.cfg.xml

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    省略
    <!-- 映射文件 -->
    <!--程序将加载指定的文件 Entities.Customer文件夹下Customer.hbm.xml-->
    <!--这种写法将加载资源文件-->
    <mapping resource="Entities.Customer.hbm.xml" assembly="Entities" />
  </session-factory>
</hibernate-configuration>

//配置Configuration
            //Resource not found: Entities.Customer.hbm.xml
            Configuration cfg = new Configuration().Configure(
                Assembly.GetExecutingAssembly(), //当前代码正从中运行的程序集。
                TestHelper.NAMEPLACENAME + ".hibernateB.cfg.xml");
            //测试
 TestHelper.CheckConfiguration(cfg);

hibernateC.cfg.xml

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    省略
    <!--没有加载映射文件-->
  </session-factory>
</hibernate-configuration>

//配置Configuration
            Configuration cfg = new Configuration().Configure(
                Assembly.GetExecutingAssembly(), //当前代码正从中运行的程序集。
                TestHelper.NAMEPLACENAME + ".hibernateC.cfg.xml");
            //加载程序集中所有映射文件
            //cfg.AddAssembly(Assembly.GetExecutingAssembly());//Could not compile the mapping document: nhibernateDemo.bin.Release.Customer.hbm.xml
cfg.AddAssembly("Entities");

或者

cfg.AddClass(typeof(Entities.Customer));//Resource not found: Entities.Customer.hbm.xml
            //将customer的xml文件放到customer类的上级目录,或是将customer的命名空间加上文件加的名称,这样将不会报上边的错误

或者

 //加载和类对应的映射文件
            cfg.AddFile("Customer.hbm.xml");
            //测试
     TestHelper.CheckConfiguration(cfg);


工程师职级胜任力框架 一、前言 尽管这些年国内的IT行业发展迅速,但是仍然欠缺一套比较综合性的面向工程师的职级胜任力框架,造成国内很多工程师大都一心只想成为技术大牛,而忽视了自己全方位的工程师职业素养和能力的培养。 最近我有幸读到了Circle CI公司分享的工程胜任力矩阵,发现这份文档就是一份比较贴合互联网研发型企业的工程师职级胜任力框架,于是我在它的基础上,重新整理出了一份更适合国内工程师阅读的《工程师职级胜任力框架》,并把它分享在波波的github站点上,希望这份文档对工程师的职业开发和成长有帮助。注,Circle CI. 阅读详情

相关推荐

CentOS Stream 9中安装MySQL的详细步骤

本文详细介绍了在CentOS Stream 9系统中如何进行MySQL的在线安装、离线安装以及忘记密码的恢复操作。通过阅读本文,您将能够了解并掌握在CentOS Stream 9上安装MySQL的步骤,以及在遇到忘记密码的情况下的解决方案。

小白典的博客 7258

Hibernate加载配置文件的两种方法

细节问题的解决:org.hibernate.DuplicateMappingException

Siuloong的专栏 8759

告别手动拖拽!PyQt5/PyQt6 QTableView列宽自适应窗口的三种实战方案(附性能对比)

本文详细介绍了PyQt5/PyQt6中QTableView列宽自适应窗口的三种实战方案,包括Stretch模式、resizeEvent手动计算和ResizeToContents模式,并附有性能对比。帮助开发者解决窗口大小变化时列宽不变的常见问题,提升用户体验和开发效率。

weixin_42538752的博客 233

关于Hibernate里hibernate.properties not found的问题及数据库方言更新问题

这两天一直在解决这个问题,也查阅了很多资料,实在是心酸的不行。现在终于调试出来了,这么过分一定要发博客! 首先先说明一下,我用的是Hibernate 5.2和MySQL 5.7的版本! 划重点!!——————————————————————————————* 不同的版本之间用的方法是不同的!楼主就是死在这些不同的版本使用不同的方法和名称上面!请各位程序员一定要确定好自己的Hibernat...

家里没矿 2万+

从零开始,用MATLAB/Simulink手把手搭建一个无刷直流电机(BLDC)的控制模型

本文详细介绍了如何使用MATLAB/Simulink从零开始搭建无刷直流电机(BLDC)控制模型。通过可视化建模方法,避开繁琐的数学推导,直接构建三相逆变器、电机本体参数化模型、霍尔传感器与换相逻辑实现,以及速度闭环控制设计。文章还提供了PID控制器整定、抗饱和处理和系统调试的实用技巧,帮助工程师快速掌握BLDC控制系统的仿真与实现。

weixin_27741699的博客 254

CentOS 7 常用命令大全

CentOS中Linux命令

m0_63075763的博客 2018

NHibernate读取配置文件的三种方式

Configuration config = new Configuration(); 这种配置方法将会到应用程序配置文件(App.Config,Web.Config)中查找NHibernate的配置信息,NHibernate的配置节必须符合应用程序配置文件个格式,前面的教程我们已经看到过了。 Configuration config = new Configuration().Configu

caolijunmingyan的专栏 5019

R语言使用mlr包创建回归任务、指定回归学习函数为KNN回归模型、网格搜索、交叉验证调节KNN模型的超参数K获取模型最佳的K值、可视化KNN模型的不同K值和MSE指标之间关系图

R语言使用mlr包创建回归任务、指定回归学习函数为KNN回归模型、网格搜索、交叉验证调节KNN模型的超参数K获取模型最佳的K值、可视化KNN模型的不同K值和MSE指标之间关系图

statistics+insight+vista+power 279

NH的学习 之一 xml文件的属性之嵌入性资源的错误

hbm.xmlnhibernate文件中版本号可能引起的问题. < hibernate-mapping xmlns=" urn:nhibernate-mapping-2.2" > 此处的2.2代表了nhibernate的版本号 必须与你安装的nhibernate的产品版本号相符.否则的话 举个例子 若为urn:nhibernate-mapping-2.0...

weixin_30466953的博客 211

【AHE数据集】中国2019年多源热排放数据集-500m空间分辨率

【AHE数据集】中国2019年多源热排放数据集

WW、forever的博客 411

基于 STM32 的智慧农业温室控制系统设计与实现

本文提出一种基于 STM32 微控制器的智慧农业温室控制系统设计方案,通过集成多类型环境传感器、执行机构及无线通信模块,实现对温室内温湿度、光照、土壤湿度等参数的实时监测与自动调控。文中详细阐述硬件选型、电路连接及软件实现流程,并附关键代码示例,为智慧农业领域提供低成本、高可靠性的温室控制解决方案。

weixin_42300449的博客 1923

使用NHibernate 注意要点

1. 应用层的工程的App.config也要有NHibernate相关的配置。 <?xmlversion="1.0"encoding="utf-8"?><configuration><configSections><sectionname="nhibernate"type="System.Configuration.NameValu...

weixin_30518397的博客 70

【Linux】Windows11 安装 WSL2 并运行 Ubuntu 22.04 详细操作步骤

Windows 11 安装 WSL2 和 Ubuntu 22.04 指南 本文详细介绍在 Windows 11 上安装 WSL2 和 Ubuntu 22.04 的完整步骤,包括: WSL2 与 VirtualBox 的性能对比优势 系统版本检查与升级方法 两种安装方式(一键安装和手动安装) Ubuntu 22.04 的安装与配置 存储位置管理及迁移技巧 常用 WSL2 命令速查表 文章还提供了性能优化建议和常见问题解决方案,适合开发者和 Linux 爱好者快速搭建高效的开发环境。

No8g攻城狮的博客 2万+

NHibernate中Example类使用注意事项

1,示例: using NHibernate.Criterion; //初始化要查询的实体类 Refundment refundment = new Refundment { State=5}; //查询 IList<Refundment> refundments = NHibernateHelper.GetCurrentSessio...

weixin_30814329的博客 140

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

NHibernate学习注意点

1. 为Microsoft Visual Studio 2008添加编写NHibernate配置文件智能提示的功能。只要在下载的NHibernate里找到configuration.xsd和nhibernate-mapping.xsd两个文件并复制到X:\Program Files\Microsoft Visual Studio 9.0\Xml\Schemas目录即可。 2. NHiber...

weixin_33882452的博客 111

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

使用Nhibernate需注意的问题

一:.配置项:若配置项对于延迟加载(lazy_load)设置为FALSE,则对实体类的属性、方法不需要加virtual关键字。但是对延迟加载默认配置为True。二:.使用Nhibernate添加数据时,一种是使用Itransaction,即通过事务提交、一种是通过ISession提交、二者不能混用,      1、使用事务提交:           Configuration cfg=new Configuration().Configure(path);//--Path 为NHibernate的配置文件 

tyb1222的专栏 477

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Nhibernate入门注意事项

第一次玩Nhibernate 以下所写只为帮助写出第一个Nhibernate程序,罗列注意事项1.         准备:Nhibernate的dll文件 Castle.Core.dllCastle.DynamicProxy2.dllIesi.Collections.dlllog4net.dllNHibernate.dll将它们引用进程序集2.     

uprockt的专栏 524

Nhibernate注意事项

1.hibernate.cfg.xml 文件,属性->复制到输出目录 -> 始终复制2. *.hbm.xml文件,属性->生成操作->嵌入的资源 转载于:https://www.cnblogs.com/vingi/articles/2696752.html...

87

NHibernate配置注意事项

继承类 <discriminator column="disc_column" type="String" /> 上面一条配置必须在propert、bag、list、subclass等上面,可以在id下面 集合关系 若需级联保存并更新,需配置cascade="save-update" <li...

weixin_34256074的博客 91

NHibernate使用聚合函数注意事项

今天在NHibernate中使用聚合函数时,遇到一些问题,在网上搜索原因,再结合实践,总结出以下两点:1、必须给实体加上别名,如果不加别名聚合函数不会生效。      此时 select MAX(Carte.HappenTime) from Carte  相当于: from Carte2、查询出来的字段不能加别名。如果写成这样,select MAX(tb.HappenTime) as

边走边想 1273

nhibernate1.2使用时注意的问题(ver1.0)

nhibernate1.2 GA 是nhibernate中比较新的一个版本,在使用过程与过去的1.0中有点不同,完全按过去1.0的使用方法可能会出一点错尤其是hbm文件使用1.0并写的比较简单的一种总是提示配置文件出错解决办法,1.在每一个属性上面都加上一个virtual 关键字2.    name="NorthwindClasses.Category, NorthwindClasses"  

佳泰生活 891

NHibernate学习笔记(1) —— 使用NHibernate中应注意的几个小问题

第一个NHibernate程序测试了用实体生成数据库表和数据添加,总结出以下几点需要注意: 1.app.config或web.config中要添加,版本的兼容性配置。 内容: <runtime><assemblyBindingxmlns="urn:schemas-microsoft-com:asm.v1"><depe...

weixin_30279671的博客 173

Nhibernate学习点滴<一> 配置注意事项

数据库对象的配置文件×××.hbm.xml,一定要将生成操作设置成嵌入的资源 ×××.hbm.xml中的内容 <?xml version="1.0" encoding="utf-8" ?><hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> <class name="Nhi...

Aaron333333的博客 151

项目引入NHibernate1.2 注意事项

1.要引入的dll: NHibernate.dll Iesi.Collections.dll Castle.DynamicProxy.dll NHibernate.JetDriver.dll(如果是access数据库,要引入此库) 2.要把对应的user.cfg.xml文件(即定义xml文件)转成嵌入当前assembly的资源 具体操作:右击user.cfg.xml文件,选择"属性...

weixin_30840253的博客 78

Nhibernate学习注意点滴

1、配置文件中,若此数据表只是固定用户访问,比如 ado.userTable,则在配置表中加入schema="ado"<class table="userTable" name="userTable" shcema="ado" >2、在one-many关系中inverse表示是否存在倒转3、cascade 表示在执行删除的时候的方式 <bag name="BillT...

weixin_30670965的博客 90

NHibernate 中如果实体类主键不自增 注意事项

有的时候会用char类型字段作主键,那么这个字段是不能设置为自增长的。 NHibernate使用中如果一个字段不是自增长,就要在配置文件中把主键设为 generator class="assigned" 转载于:https://www.cnblogs.com/test99/archive/2010/11/17/1879564.html...

weixin_30677073的博客 266
上一篇: sql 自定义函数复习
下一篇: SQL Server临时表和表变量
andycode
博客等级 码龄17年 12粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值