摘要:
本来打算主键ID用触发器生成,因为程序只需要一次IO就能插入一条数据。图在下面,这里assigned不能改为native,从配置中看,是程序来生成ID,但实际oracle接受到插入消息后,触发器自动用序列替换了ID,因此遇到一个问题,就是程序不能获取到刚才插入的实体的主键ID,于是改为配置文件中指定序列创建ID,为了看它生成的sql和连接数据库的IO次数,我用NHibernateProfiler和sql server profiler进行了检测,oracle没找到好的检测连接sql的工具,因此用mssql的检测工具检测了下。用NHibernateProfiler检测生成sql时,迷惑了我,由于 阅读全文
摘要:
这个问题断断续续困扰了我一段时间,在网上搜遍了,没搜到谁真正说解决了这个问题。项目里用spring.net包装的Nhibernate操作oracle数据库一直没出现类试问题,但这次用纯Nhibernate连oracle老是报错,最后解决了才发现是NHibernate版本问题引起的(这个报错确实很迷惑人,感觉像hbm.xml引起的问题)。用纯的NHibernate,当时为了快点测试自己想做的程序,就下了别人的DEMO直接用,虽然现在好像出3.0版本了,DEMO是2.0.0.4000版本的,我项目里用spring.net包装的nhibernate是2.1.0.4000版本的,一直用的很好,找啊搜啊 阅读全文