惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
AI
AI
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
博客园 - 【当耐特】
V
Visual Studio Blog
博客园 - Franky
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
I
Intezer
C
Cybersecurity and Infrastructure Security Agency CISA
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
S
SegmentFault 最新的问题
腾讯CDC
T
Threat Research - Cisco Blogs
Last Week in AI
Last Week in AI
酷 壳 – CoolShell
酷 壳 – CoolShell
Webroot Blog
Webroot Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
小众软件
小众软件
C
Cyber Attacks, Cyber Crime and Cyber Security
Hacker News: Ask HN
Hacker News: Ask HN
T
Tor Project blog
WordPress大学
WordPress大学
雷峰网
雷峰网
J
Java Code Geeks
GbyAI
GbyAI
Recorded Future
Recorded Future
F
Full Disclosure
Cisco Talos Blog
Cisco Talos Blog
S
Secure Thoughts
I
InfoQ
量子位
Forbes - Security
Forbes - Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threatpost
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Security Blog
Microsoft Security Blog
Attack and Defense Labs
Attack and Defense Labs
爱范儿
爱范儿
N
News and Events Feed by Topic
V
Vulnerabilities – Threatpost
L
LINUX DO - 最新话题
A
Arctic Wolf
S
Security Affairs

博客园 - 鱼跃千里

Python抽奖程序 - 鱼跃千里 - 博客园 右键菜单添加CMD--备忘 - 鱼跃千里 - 博客园 windows 7安装sql server2005以及com (-1073737712错误)+ 8004e00f错误 要签约了 [转]虚方法和抽象方法 腾讯笔试 IE7不能支持Google的Google Suggest? 两个不错的生成图片验证码代码 继承类实例化时构造函数的执行顺序 FCKEditor的使用---起步 [转+自己修改]将 MS SQL Server 2005 SP2 整合到安装文件 Google AdSense 申请通过了 [转]发生 LC.exe 已经退出 代码-1 错误的解决方法 [转]VS2005 SP1集成版制作 DataList等控件嵌套绑定的一个需要注意的地方 为DataList和GridView内容项添加序号 超时时间已到。在操作完成之前超时时间已过或服务器未响应。 (.Net SqlClient Data Provider) [转]最佳ASP.NET编程习惯 DataList嵌套绑定数据
Nhibernate 2.0 学习笔记,关于hbm映射文件的重要性
鱼跃千里 · 2009-02-20 · via 博客园 - 鱼跃千里

        最近一直很懒了,所谓学习笔记也只是在看着NHibernate之旅系列文章导航 学习Nhibernate的过程中出现的问题

        当然,如果一直严格按照文章的做法来的话,是没有问题的,主要是我偷懒,用codesmith生成了一下hbm文件和实体映射类。生成后对照了一下,发现实体类完全不对,我没有看过NHB1.2,不知道是不是2.0的改进,现在2.0的实体类要简单多了,只需要类似这样的东东就可以了。

2.0

Code

1.2(用的是园子里下的那个模板,具体位置忘了)

Code

而且 hbm映射文件也要简洁点,并且一定要按照2.0的方式写,我就是偷懒用了代码生成器的,结果出了一个问题,搞了两天才发现。

2.0

Code

1.2

Code

开始,我不想自己写 hbm,就试着用1.2的HBM文件用了一下,HBQ等查询语句、方法,Save,Update,Delete方法都没有问题,我还以为可以一直用1.2的HBM文件呢,结果在测试SaveOrUpdate方法的时候,代码和李永京的全部一样,就是测试失败 出现了一个:a different object with the same identifier value was already associated with the session:0,of entity:Model.Entities.Customer.

网上搜了一下,据说用SaveOrUpdateCopy()方法或者session.clear()方法可以搞定,可是失败了。

好嘛,既然他说是有两个对象关联到了一个session,那我就单独测试一下SaveOrUpdate

自己的savaORupdate方法如下

Code

测试代码(主体)

Code

然后发现,Update的部分,数据库中的内容改变了,但是新添加的一个c1,没有插入到数据库中。

我汗,换个代码测试

Code

出现一个错误Batch update returned unexpected row count from update,Google了半天也没有办法。

我晕啊,我全部都是按照教程来的,怎么总是出奇怪的问题啊,突然想起我的HBM映射文件是用旧模板生成的,抱着试试看的心态,换上了2.0的hbm,竟然。。。。所有问题都没有了。

我。。。。无语了