Spiga

NHibernate之旅系列文章导航

2008-10-30 16:13 by 李永京, 128943 visits, 收藏, 编辑

NHibernate之旅系列文章导航

宣传语

NHibernate、NHibernate教程、NHibernate入门、NHibernate下载、NHibernate教程中文版、NHibernate实例、NHibernate2.0、NHibernate2.0教程、NHibernate之旅、NHibernate工具

导游

NHibernate是把Java的Hibernate核心部分移植到Microsoft .NET Framework上。它是一个对象关系映射工具,其目标是把.NET对象持久化到关系数据库。

NHibernate在2008年8月31日发布了NHibernate2.0版本,代表NHibernate又向前走了一步,我相信NHibernate将会越来越强大。

NHibernate在2009年10月31日发布了.Net2.0最后一个版本NHibernate2.1.1.GA,这也代表着下一步的新版本。

这个NHibernate之旅系列带你来到NHibernate的世界。一步一步看清NHibernate中的种种细节。

环境优先

这次NHibernate2.0系列之旅使用Microsoft Visual Studio 2008 SP1、SQL Server 2008 Express、NHibernate2.1.1.GA最新版本。。如果你第一次使用NHibernate,先到这里下载NHibernate最新版本(包括源码、发布版本、参考文档、API文档,可选择下载)。如果用到NHibernate的扩展项目到这里下载获得NHibernate Contrib最新版本。NHibernate-2.1.1.GA是.NET2.0平台的最后一个版本,关于NHibernate-2.1.1.GA的更多信息请点击这里

休息接待区

欢迎加入NHibernate中文社区!在讨论中寻找乐趣!在问题中寻找答案!

旅途站点路线

第一站:熟悉NHibernate

NHibernate之旅(1):开篇有益

第二站:接触NHibernate

NHibernate之旅(2):第一个NHibernate程序

第三站:数据在我手中

NHibernate之旅(3):探索查询之NHibernate查询语言(HQL)

NHibernate之旅(4):探索查询之条件查询(Criteria Query)

NHibernate之旅(5):探索Insert, Update, Delete操作

第四站:控制你的全部

NHibernate之旅(6):探索NHibernate中的事务

NHibernate之旅(7):初探NHibernate中的并发控制

观光站:实用技巧补偿

NHibernate之旅(8):巧用组件之依赖对象

第五站:关系如此复杂

NHibernate之旅(9):探索父子关系(一对多关系)

NHibernate之旅(10):探索父子(一对多)关联查询

NHibernate之旅(11):探索多对多关系及其关联查询

第六站:我来加载你

NHibernate之旅(12):初探延迟加载机制

NHibernate之旅(13):初探立即加载机制

第七站:数据的镜子

NHibernate之旅(14):探索NHibernate中使用视图

NHibernate之旅(15):探索NHibernate中使用存储过程(上)

NHibernate之旅(16):探索NHibernate中使用存储过程(中)

NHibernate之旅(17):探索NHibernate中使用存储过程(下)

第八站:转载请注明

NHibernate之旅(18):初探代码生成工具使用

NHibernate之旅(19):初探SchemaExport工具使用

NHibernate之旅(20):再探SchemaExport工具使用

第九站:对象的始末

NHibernate之旅(21):探索对象状态

NHibernate之旅(22):探索NHibernate一级缓存

NHibernate之旅(23):探索NHibernate二级缓存(上)

NHibernate之旅(24):探索NHibernate二级缓存(下)

更多NHibernate资料请点击NHibernate专题

标签: NHibernate
Add your comment

194 条回复

    评论共2页: 上一页 1 2 
  1. #95楼[楼主] 李永京      2009-05-05 08:44
    @火舞耀阳
    提供一部分下载了~~
     回复 引用 查看   
  2. #96楼 oversoul[未注册用户]2009-05-08 09:22
    楼主真的很强大,什么时候能讲下跟SPRING.NET的整合问题。
     回复 引用   
  3. #97楼 baicaps[未注册用户]2009-06-01 21:24
    正在学习Nhibernate,收藏了
     回复 引用   
  4. #98楼 GWPBrian      2009-06-29 15:31
    一直以为Nhibernate是Java的东西。对Nhibernate的了解几乎为零,呵呵。
    慢慢学习下!
     回复 引用 查看   
  5. #99楼 JL      2009-06-30 15:31
    使用MyGeneration工具时生成的cs和xml中出现unknown,能否提供一个准确的模版??????
     回复 引用 查看   
  6. #100楼[楼主] 李永京      2009-07-01 08:50
    @JL
    暂时没有
     回复 引用 查看   
  7. #101楼 seagreen7      2009-07-31 09:47
    不顶不行啊,好东西。
     回复 引用 查看   
  8. #102楼 Jack Niu      2009-08-20 12:24
    学习!
     回复 引用 查看   
  9. #103楼 lnj[未注册用户]2009-08-24 20:03
    建议李大拿讲讲nhb性能优化方面的知识
     回复 引用   
  10. #104楼 victor_stone1[未注册用户]2009-08-24 21:08
    楼主的这个<NHibernate之旅系列>真是写的太好了!!

    什么时候能讲一下spring.net就更好了.或者您能推荐一些相关的资源也行.
     回复 引用   
  11. #105楼[楼主] 李永京      2009-08-25 08:47
    @victor_stone1
    为什么用spring.net么?那配置文件多的要命,没有搞头。。。建议看看另外的IoC框架,约定甚于配置。。。
     回复 引用 查看   
  12. #106楼[楼主] 李永京      2009-08-25 08:49
    @lnj
    NH性能需要一定的经验才能总结出来的,现在有不少,但是是一些不成文的东西
     回复 引用 查看   
  13. #107楼 john.net      2009-09-01 08:26
    还有视频教程啊?老大
     回复 引用 查看   
  14. #108楼[楼主] 李永京      2009-09-01 09:04
    @john.net
    没有
     回复 引用 查看   
  15. #109楼 Chrome Loo      2009-09-18 15:51
    李大哥的皮肤改过来了,还是感觉以前的skin好一点
     回复 引用 查看   
  16. #110楼[楼主] 李永京      2009-09-18 15:55
    @Chrome Loo
    是看贯了啊,那我不改了
     回复 引用 查看   
  17. #111楼 Chengjie Kim      2009-09-18 16:28
    非常感谢分享
     回复 引用 查看   
  18. #112楼 Jaxu      2009-09-27 17:57
    很久以前用过NHibernate,好像当时还在1.0之前吧,楼主的文章讲得很详细,值得收藏!
     回复 引用 查看   
  19. #113楼 Colin Han      2009-10-09 14:42
    比较期待关于DDD的内容。不知道什么时候有?
    纯学习~~~
     回复 引用 查看   
  20. #114楼 TM Zhang      2009-10-16 11:22
    好东西啊!感谢!

    Jack
     回复 引用 查看   
  21. #115楼 hikari      2009-10-23 14:48
    利用一个星期的闲暇看完了。因为以前用过其它的ORM框架开发,所以还算蛮顺利的。只是对castle不太了解,不知道castle在其中提供了哪些作用?
     回复 引用 查看   
  22. #116楼 早春      2009-11-15 17:08
    谢谢楼主分享
     回复 引用 查看   
  23. #117楼 按时答案似的[未注册用户]2009-11-20 11:50
    我身为JAVA程序员 天天用HIBERNATE,你写的文章 居然看不懂

    。NET 痛苦啊
     回复 引用   
  24. #118楼 不悔的青春      2009-11-20 13:25
    你可以写书了,写得通俗易懂。适合很多人阅读。
     回复 引用 查看   
  25. #119楼[楼主] 李永京      2009-11-20 13:31
    @不悔的青春
    不错的想法,呵呵
     回复 引用 查看   
  26. #120楼 专门来感谢的[未注册用户]2009-12-09 12:44
    刚学nhib,看了你的第二篇,整不下去了,因为你把它们分开了,今天又看了一次才整通。

    后面几章还在看,感觉很好,比第二章好懂的多 :D
     回复 引用   
  27. #121楼 NHibernate连接字符串[未注册用户]2009-12-25 11:48
    NHibernate连接字符串支持加密吗?
     回复 引用   
  28. #122楼[楼主] 李永京      2009-12-25 12:36
    @NHibernate连接字符串
    可以加密的,和sql字符串不是一样么
     回复 引用 查看   
  29. #123楼 NHibernate连接字符串[未注册用户]2009-12-25 21:00
    引用李永京:
    @NHibernate连接字符串
    可以加密的,和sql字符串不是一样么

    谢谢你的回复。正想做一个小项目,有订单个库存两个模块。项目时间也没有限定。看了你的文章正考虑是否用NHibernate连数据库,开发过程中顺便把NHibernate学了,一举两得啊!
     回复 引用   
  30. #124楼 小 强      2010-01-11 18:22
    向李兄请教两个问题
    1.使用微软VS中默认的测试框架时,怎么读取hibernate.cfg.xml文件?我现在的做法是,首先设置hibernate.cfg.xml始终复制,然后再每个测试方法上面加上这样一句[DeploymentItem("hibernate.cfg.xml"), TestMethod]。请问有没有简单点的方法,不用每个测试方法上都指定这个配置文件。

    2.使用微软VS中默认的测试框架时,hibernage.cft.xml文件中我配置了<property name="show_sql">true</property>,但是在sql会在哪里输出啊,我怎么没看见?
    刚接触NHibernate,跟着你的教程在做,希望李兄有时间回复我一下,非常感谢。
     回复 引用 查看   
  31. #125楼[楼主] 李永京      2010-01-11 19:24
    @小 强
    微软自带的测试框架很简单,但是使用起来也很麻烦....
     回复 引用 查看   
  32. #126楼 小 强      2010-01-11 20:30
    现在是可以跑测试的,但是要每个方法上面配置DeploymentItem("hibernate.cfg.xml"),不知道有没有简单点的方法
     回复 引用 查看   
  33. #127楼[楼主] 李永京      2010-01-11 20:58
    @小 强
    不需要,手动把那配置文件复制到相应目录就可以了
     回复 引用 查看   
  34. #128楼 韦一笑      2010-01-26 11:10
    lz你好!请教两个问题:
    1.我在表示层引用hibernate.dll是2.0版本的,但是生成的bin里面是1.0的版本,使用的时候报错。
    2.如果在业务逻辑层使用事务该怎么实现。
    刚接触hibernate请多多指教。谢谢!
     回复 引用 查看   
  35. #129楼 魔神英雄      2010-01-30 23:17
    再写个NHibernate和Spring.net整合的系列就太好了
     回复 引用 查看   
  36. #130楼 阳光下的柚子      2010-02-01 18:14
    太好了,博主还保持着更新到了新版本。刚开始学,网上找到很多都是以前老版本的,发现变动了不少,那些配置都没法用了,本来想配一个Sqlite数据库,弄了一下午都不行。这下可以看着最新版的来了,谢谢!
     回复 引用 查看   
  37. #131楼 @su      2010-03-02 17:23
    今天跟着LZ开始NHibernate征途啦,新手刚开始学,谢谢啦
     回复 引用 查看   
  38. #132楼 老鼠      2010-04-13 13:52
    LZ请问你msn多少?我配置总是出错,想请教
     回复 引用 查看   
  39. #133楼 elvn001      2010-06-09 10:18
    李老师,你好!
    NHibernate跨域获取数据,不知李老师是否做个关于NHibernate+WCF的教程.

    谢谢!
     回复 引用 查看   
  40. #134楼 初级学者[未注册用户]2010-06-27 11:12
    能加我 vQQ吗 375051622
    我高考刚完开始学习
    请坐我师父
    谢谢
     回复 引用   
  41. #135楼 碳素墨水      2010-07-07 22:32
    问个问题:NHibernate在asp.net中的应用。我将NHibernate的ISession存放在HttpContext.Current.Items中每次Save(entity)时是否一定要主动调用Flush NHibernate才会提交(FlushMode为Auto)?我试过是每次都不提交!数据库中没有插入一条数据,只有手动调用Flush才有提交操作。
     回复 引用 查看   
  42. #136楼[楼主] 李永京      2010-07-07 22:55
    @碳素墨水
    只有在事务提交或者session flush时候才将session中的操作提交数据库,你可以设置默认flush为自动提交,一般在web中要应用session策略,比如session per request。
     回复 引用 查看   
  43. #137楼 碳素墨水      2010-07-16 10:02
    hilo:使用一个高/低位算法来高效的生成int类型的标识符。给定一个表和字段(默认分别是是hibernate_unique_key 和next_hi)作为高位值得来源。 高/低位算法生成的标识符只在一个特定的数据库中是唯一的。在用户自行提供的连接中,不要使用这种生成器。
    =================================================
    想用hilo生成Key能介绍一下吗?
    GOOGLE出来的都是以上差不多的说法。谢谢
     回复 引用 查看   
  44. #138楼       2010-07-24 16:44
    马勒戈壁的,微软的翻译太牛叉拉!!
     回复 引用 查看   
  45. #139楼[楼主] 李永京      2010-07-24 17:55
    @
    我也看过了
     回复 引用 查看   
  46. #140楼[楼主] 李永京      2010-07-24 17:56
    @碳素墨水
    可以自定义这些值的
     回复 引用 查看   
  47. #141楼 stoneca[未注册用户]2010-07-25 17:15
    @李永京
    您好!NH之旅系列的代码在哪可以下载呢?
    我从http://yjinglee.googlecode.com/svn下载更新出来是空白。没有文件?
     回复 引用   
  48. #142楼[楼主] 李永京      2010-07-25 17:31
    @stoneca
    http://files.cnblogs.com/lyj/NHibernateSample.zip
     回复 引用 查看   
  49. #143楼 qs[未注册用户]2010-07-27 13:52
    @李永京
    是的啊,到时候还能赚点
     回复 引用   
  50. #144楼 老鼠      2010-08-10 11:13
    楼主能提供MSN给我吗?我一直调试不通,想问下
    谢谢
     回复 引用 查看   
  51. #145楼[楼主] 李永京      2010-08-10 11:17
    @老鼠
    有什么问题可以到NHibernate小组提问...
     回复 引用 查看   
  52. #146楼 老鼠      2010-08-11 14:32
    问个问题:NHibernate你用什么工具看生成的SQL语句?
    我通过SQL Server Profiler查看不像你说的,比如第10节你说“这时发现其生成的SQL语句中有distinct”但是我通过Profiler没有看到distinct
    里面生成的语句如下:
    "exec sp_executesql N'SELECT this_.CustomerId as CustomerId8_0_, this_.Version as Version8_0_, this_.Firstname as Firstname8_0_, this_.Lastname as Lastname8_0_ FROM Customer this_ WHERE this_.CustomerId in
    (@p0, @p1)',N'@p0 int,@p1 int',@p0=1,@p1=2"
    谢谢
     回复 引用 查看   
  53. #147楼 老鼠      2010-08-11 14:34
    前台显示确实不重复
     回复 引用 查看   
  54. #148楼[楼主] 李永京      2010-08-11 14:39
    @老鼠
    .SetResultTransformer(new NHibernate.Transform.DistinctRootEntityResultTransformer())是取过数据后,在内存中过滤的.....
     回复 引用 查看   
  55. #149楼 老鼠      2010-08-11 16:41
    那你为何说生成SQL语句中有distinct??
     回复 引用 查看   
  56. #150楼[楼主] 李永京      2010-08-11 16:47
    @老鼠
    麻烦你仔细看清文章在说,我是在第一句查询,不是你所指的第二个查询....
     回复 引用 查看   
  57. #151楼 老鼠      2010-08-11 16:52
    LZ,看到11节,你11节里面的图好象和你代码的配置不对应?你图明明写出外键是ProductOrders但是你的配置是foreign-key="FK_ProductOrders",
    但是我改了原生SQL运行好的,HQL和Criteria运行就出错了!
    你图是否和你的配置不对应?
    如对应请帮忙解释一下foreign-key="FK_ProductOrders",是否指的是外键
     回复 引用 查看   
  58. #152楼 xoo      2010-08-30 17:03
    @迷茫的小菜
    我又何尝不是呢..哎.
     回复 引用 查看   
  59. #153楼 GetStart      2010-11-08 23:36
    此文不错,值得推荐!
     回复 引用 查看   
  60. #154楼 文明的天空      2010-11-10 10:54
    此文不错,值得推荐!
     回复 引用 查看   
  61. #155楼 Genius Zhang      2010-11-11 19:30
    李兄,问一个问题,我用NHibernate做了一个项目,几乎快成型了,但发现了一个问题,我这几天在发一个DEMO版,所以几乎没人访问,我访问了一下,大概半小时之后,再访问的时候,会发现NH又一次进行了hbm文件的扫描和映射工作,导致这时候的访问和整个WEB应用刚启动时是一样的,但如果几分钟访问一次,不会有这样的现象,不知道是不是NH的配置文件哪里配置错了?或者说有超时的问题,就是很久没访问了,就被回收 了或啥之类的?
     回复 引用 查看   
  62. #156楼[楼主] 李永京      2010-11-11 20:36
    @Genius Zhang
    刚启动Web的时候需要把NH初始化好,可能是你IIS设置了什么过期策略还是...
     回复 引用 查看   
  63. #157楼 Genius Zhang      2010-11-13 09:11
    引用李永京:
    @Genius Zhang
    刚启动Web的时候需要把NH初始化好,可能是你IIS设置了什么过期策略还是...

    IIS检查了一下,几乎都是默认设置,那个回收时间也是默认的1740分钟,不知道是不是还有其他地方要检查一下?
     回复 引用 查看   
  64. #158楼 阿宝QQ      2010-11-18 17:49
    很好呀,一直想学习这方面便,愧于没有好的引导资料,谢谢呀,在此顶一个
     回复 引用 查看   
  65. #159楼 李磊(leige)      2010-11-21 10:56
    马上关注,好好学习。楼主辛苦了。
     回复 引用 查看   
  66. #160楼 横竖都溢      2010-11-21 20:04
    NHibernate有Oracle方面的学习资料么?一直找不到啊
     回复 引用 查看   
  67. #161楼 依涵      2010-11-22 08:57
    此文不错,值得推荐!
     回复 引用 查看   
  68. #162楼 阳光沙滩海岸线      2010-11-26 13:34
    我有个问题自己找不到答案,您能不能帮我看一下?谢谢了~
    http://space.cnblogs.com/question/20274/
     回复 引用 查看   
  69. #163楼 Leepy      2010-11-26 15:12
    此文不错,值得推荐!
     回复 引用 查看   
  70. #164楼 赵兄托你帮我办点事      2010-12-02 10:53
    此文不错,值得推荐!
     回复 引用 查看   
  71. #165楼 白云孤飞      2010-12-03 22:21
    此文不错,值得推荐!
     回复 引用 查看   
  72. #166楼 轩~雨~阁      2010-12-06 20:05
    此文不错,值得推荐!
     回复 引用 查看   
  73. #167楼 轩~雨~阁      2010-12-06 20:05
    期待后续文章,关注!
     回复 引用 查看   
  74. #168楼 麻将我会      2010-12-08 17:26
    期待后续文章,关注!
     回复 引用 查看   
  75. #169楼 忧忧夏天      2011-01-30 14:27
    好文章 推荐下
     回复 引用 查看   
  76. #170楼 hawthorn      2011-02-10 13:25
    学习中,谢谢 crusher
     回复 引用 查看   
  77. #171楼 杨云洲      2011-02-27 23:22
    好文, 马上就要接触数据库了
     回复 引用 查看   
  78. #172楼 天水三千      2011-03-02 18:00
    永京大哥,请问你有通用的分页代码?当然是用NH的,不过是2.1,最好可以带泛型,可以接收多条件,条件可以任意关系,多排序的,谢谢
     回复 引用 查看   
  79. #173楼 东莞模具[未注册用户]2011-03-22 11:18
    嗯,这资料很有用。
     回复 引用   
  80. #174楼 天水三千      2011-04-17 01:44
    永京大哥,我想问一下NH的HQL查询与Criteria的查询有什么不同,各个在什么场景用比较合较?
     回复 引用 查看   
  81. #175楼[楼主] 李永京      2011-04-17 15:32
    @天水三千
    看自己用哪个顺手用哪个,个人认为hql比较强大
     回复 引用 查看   
  82. #176楼 酶※〣サ☆酷      2011-04-19 09:00
    李哥,你好!
    小弟现在想问你一下Nhibernate是如何调用含有输出参数的存储过程的!比如就是调用那个分页的存储过程,还有我用的是Fluent Nhibernate的!求解答?
     回复 引用 查看   
  83. #177楼 yukungis[未注册用户]2011-04-28 21:05
    楼主,我想请问对于使用在oracle中使用guid在主键,每次更新和删除记录就报NHibernate.StaleStateException: Unexpected row count: 0; expected: 1错误,数据插入oracle中没问题。
     回复 引用   
  84. #178楼 luge      2011-05-27 10:54
    初试NHibernate 出现一些奇怪的问题,不知道为什么,运行刚才还好好的,然后不知道怎么的bin中的几个dll文件就消失了,我是跟同事通过svn共同做项目,不明白为什么会丢失dll文件
     回复 引用 查看   
  85. #179楼 天水三千      2011-06-20 16:44
    组长,请问NHibernate如果要实现批量操作要怎样实现,比如批量更新与删除。如果直接用Session.CreateSQLQuery这个方法会不会不兼容数据库的,请回复,谢谢!
     回复 引用 查看   
  86. #180楼[楼主] 李永京      2011-06-27 11:35
    @天水三千
    批量可以使用原生sql,另外如何在同一个session中批量,最后提交也会达到同样的效果
     回复 引用 查看   
  87. #181楼 Jonathan.yang      2011-07-30 22:44
    李兄,关于NH和EF4.1,现在有没有新的讨论了呢?我目前停留在是选择NH和EF之间,望给出一个中肯的意见,在ORM这块还不是很熟悉,谢谢了。
     回复 引用 查看   
  88. #182楼[楼主] 李永京      2011-08-01 11:21
    @Jonathan.yang
    个人建议NH,不过这个学习成本很高。
     回复 引用 查看   
  89. #183楼 四房播播[未注册用户]2011-08-06 23:24
    这个不好学的真的
     回复 引用   
  90. #184楼 irvin      2011-08-11 20:12
    返回object[],修改为返回DTO对象是指什么?怎么做?请问
     回复 引用 查看   
  91. #185楼 一个奋斗中的男人      2011-09-08 08:43
    你好 NHibernate 在分布式数据访问这块如何实现
     回复 引用 查看   
  92. #186楼 Byrd      2011-09-27 17:00
    通过hibernate.cfg.xml加载数据库的配置,同时打开两个Isession出错,提示"已添加了具有相同键的项",同时打开两个ISession可以通过iframe来实现,相当于两个页面同时打开,不知楼主遇见过这种情况吗,望高手解决。
     回复 引用 查看   
  93. #187楼 开国伟人      2011-11-15 10:12
    这系列就算结束了吗?
     回复 引用 查看   
  94. #188楼 Richeir      2011-11-17 10:54
    先顶再看!
     回复 引用 查看   
  95. #189楼 6572789      2011-11-24 15:42
    当收藏贴
     回复 引用 查看   
  96. #190楼 linjunhui      2011-11-29 12:06
    京哥..讲的很细..不错.哈哈!!喜欢..支持着
     回复 引用 查看   
  97. #191楼 开国伟人      2011-11-30 21:38
    请问下博主有没有Nhibernate相关的PPT模板
    主要用于培训用。
     回复 引用 查看   
  98. #192楼 追梦网络      2011-12-15 10:22
    太好了
     回复 引用 查看   
  99. #193楼 C#菜子      2011-12-23 10:55
    把这个系列的文章看玩!
     回复 引用 查看   
  100. #194楼 喵了个咪K[未注册用户]2012-02-08 10:34
    NHibernate啊,拖了好久了,今天终于要开始学

    感谢博主的文,感觉应该能看懂吧~
     回复 引用   
  101. 评论共2页: 上一页 1 2 
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1323099 njapp/L6hWU=