asp.net MVC2 初探六

简介:
本节大致讲解Nhibernate和Spring的结合及其配置
<? xml  version ="1.0"  encoding ="utf-8"  ?> 
< objects  xmlns ="http://www.springframework.net" 
                  xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" 
                  xsi:schemaLocation ="http://www.springframework.net http://www.springframework.net/xsd/spring-objects.xsd" > 

     < object  id ="SessionFactory"  type ="Spring.Data.NHibernate.LocalSessionFactoryObject, Spring.Data.NHibernate12" > 
         < property  name ="DbProvider"  ref ="DbProvider"  /> 
         < property  name ="MappingAssemblies" > 
             < list > 
                 < value >Model </ value > 
             </ list > 
         </ property > 
         < property  name ="HibernateProperties" > 
             < dictionary > 
                 < entry  key ="hibernate.connection.provider"  value ="NHibernate.Connection.DriverConnectionProvider"  /> 
                 < entry  key ="hibernate.dialect"  value ="NHibernate.Dialect.MsSql2005Dialect"  /> 
                 < entry  key ="hibernate.connection.driver_class"  value ="NHibernate.Driver.SqlClientDriver"  /> 
                 < entry  key ="show_sql"  value ="true"  /> 
             </ dictionary > 
         </ property > 
     </ object > 

     < object  id ="HibernateTransactionManager"  type ="Spring.Data.NHibernate.HibernateTransactionManager, Spring.Data.NHibernate12" > 
         < property  name ="DbProvider"  ref ="DbProvider"  /> 
         < property  name ="sessionFactory"  ref ="sessionFactory"  /> 
     </ object > 

     < object  id ="TransactionInterceptor"  type ="Spring.Transaction.Interceptor.TransactionInterceptor, Spring.Data" > 
         < property  name ="TransactionManager"  ref ="HibernateTransactionManager"  /> 
         < property  name ="TransactionAttributeSource" > 
             < object  type ="Spring.Transaction.Interceptor.AttributesTransactionAttributeSource, Spring.Data"  /> 
         </ property > 
     </ object > 

     < object  id ="DbProvider"  type ="DAO.SQLProvider, DAO" > 
         < property  name ="ConnectionString"  value ="server=.\sql2k5;uid=sa;pwd=sa123;database=test;"  /> 
     </ object > 
     < object  id ="SpringDaoHelper"  type ="DAO.SpringDaoHelper" > 
         < property  name ="SessionFactory"  ref ="SessionFactory"  /> 
     </ object > 

</ objects > 
web.config主要配置这三个,其中< httpModules >配置在system.web节点内
< spring > 
         < context > 
             < resource  uri ="config://spring/objects" /> 
             < resource  uri ="assembly://SpringX/SpringX/spring_hibernate_dao.xml" /> 
         </ context > 
         < objects  xmlns ="http://www.springframework.net" /> 
     </ spring >
< httpModules > 
             < add  name ="Spring"  type ="Spring.Context.Support.WebSupportModule, Spring.Web" /> 
         </ httpModules > 
         < httpHandlers > 
             < add  verb ="*"  path ="*.aspx"  type ="Spring.Web.Support.PageHandlerFactory, Spring.Web" /> 
         </ httpHandlers >
< configSections > 
         < sectionGroup  name ="spring" > 
             < section  name ="context"  type ="Spring.Context.Support.WebContextHandler, Spring.Web" /> 
             < section  name ="objects"  type ="Spring.Context.Support.DefaultSectionHandler, Spring.Core" /> 
         </ sectionGroup > 
         < section  name ="SpringOverrideProperty"  type ="System.Configuration.NameValueSectionHandler" /> 
         < section  name ="nhibernate"  type ="System.Configuration.NameValueSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     </ configSections >
好了当你运行出现Nhibernate composite-id class must override Equals()时是因为当使用Nhibernate查询表中的数据时,如果表中存在复合主键,如果没有在相应的实体类中重写Equals(),那么将会出现异常。需要在实体类中重写Equals()方法,如果还出现错误,说是编译不了映射文件,那么再重载GetHashCode()


本文转自 BruceAndLee 51CTO博客,原文链接:http://blog.51cto.com/leelei/323027,如需转载请自行联系原作者

相关文章
|
29天前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
28 7
|
27天前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
38 0
|
2月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
36 0
|
2月前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
|
2月前
|
开发框架 .NET
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
93 0
|
5月前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
68 0
|
5月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
|
JavaScript 前端开发 .NET
下一篇
无影云桌面