Nhibernate
lingxyd_0
为人和善,特别喜欢计算机,热爱工作,具有学士学位。
展开
-
hibernate中set里的属性设置及含义
name:映射类属性的名称; access:hibernate访问这个属性的策略 table:关联的目标数据库表 schema:目标数据库表的schema名字 catalog:目标数据库表的catalog名字 lazy:是否采用延迟加载 subselect:定义一个子查询 inverse:用于标识双相关联中被动的一方,一般标识一对多中一的一方设置为ture转载 2013-03-04 16:17:57 · 4191 阅读 · 0 评论 -
EntityName 出错时的解决办法
转载于:http://blog.csdn.net/a497785609/article/details/6987931 今天在部署Nhibernate+MVC的系统时,发现出现问题,但是在VS里面调试都是非常的正常!很郁闷! 找到Nhibernate加载配置文件的时候出的错误,就一点一点找问题。路径没有问题,数据库也没有问题。怎么就是报错呢。 最后根据错误提示找到了这篇文章,发现还真是转载 2013-09-26 17:15:56 · 1165 阅读 · 0 评论 -
NHibernate中Mapping文件映射enum字段
前一段时间使用过Nhibernate,但一直没有研究透。更不用说FluentNHibernate了。 在上次使用的时候,枚举类型的属性在数据库中保存为Int类型字段。那个时候我就直接写成了 能够正常使用。保存,获取等都能正常对应。但是:在通过CriteriaAPI查询的时候,如果此枚举需要作为条件查询的话,就必须要强制转换成int类型。否则报错。 今天偶尔使用了Exa原创 2013-08-08 17:16:55 · 2937 阅读 · 2 评论 -
无法将类型为“NHibernate.Hql.Ast.HqlBitwiseAnd”的对象强制转换为类型“NHibernate.Hql.Ast.HqlBooleanExpression”
首先使用Expression使用动态表达式生成查询条件, Expression body = Expression.Constant(true); body = Expression.And(body, expression); 然后执行查询 session.QueryOver().Where(prediate).List(); 报错如下: 无法将类型为“NHi转载 2013-08-21 09:56:40 · 1967 阅读 · 0 评论 -
NHibernate中Session的管理
看过hibernate文档的人应该看到在“第 1 章 在Tomcat中快速上手”,可以看到代码中使用ThreadLocal作为Session的存放容器。 public static final ThreadLocal session = new ThreadLocal(); 查看JDK的文档,这个东东作用是给每个线程提供单独的静态变量,在一个线程内部共享,而不同的线程间不共享转载 2013-06-26 09:42:40 · 988 阅读 · 0 评论 -
NHibernate Mapping中 对应MSSQL中Text字段的类型
在mapping文件中text类型字段默认为 type="System.String" 如果对应的是String,那么当内容太长的时候,会报错或者截断。 来自:http://stackoverflow.com/questions/912541/how-to-make-nhibernate-generate-table-with-text-field-instead-of-nvarcha翻译 2013-05-17 10:23:10 · 1453 阅读 · 0 评论 -
解决hibernate 删除异常deleted object would be re-saved by cascade (remove deleted object from association)
在hibernate 删除关联时会出现eleted object would be re-saved by cascade (remove deleted object from associations)的异常,结合别人的和自己的经验通常有三种解决的方案: 方法1 删除Set方的cascade: 方法2 解决关联关系后,再删除 onside.getManys().remov转载 2013-03-21 17:00:54 · 1324 阅读 · 1 评论 -
Nhibernate中使用enum字段
1、数据库中对应为int型字段 NHibernate直接支持枚举类型的映射,这种支持方式,在数据库中保存的是枚举的整数值。在TBLPLANTITEM中有三个字段对应的对象属性使用枚举类型:ITEM_CATEGORY、PURCHASE_CATEGORY、STOCK_OPTION,我把STOCK_OPTION字段设置成整数类型,用来测试NHB对枚举映射的直接支持方式,而其它两个设成了字符串类型转载 2013-03-02 11:14:45 · 1428 阅读 · 2 评论 -
NHibernate 中删除数据的几种方法
今天下午有人在QQ群上问在NHibernate上如何根据条件删除多条数据,于是我自己就写了些测试代码,并总结了一下NHibernate中删除数据的方式,做个备忘。不过不能保证囊括所有的方式,如果还有别的方式,请园友踊跃提出,我补充上去。 1. 使用Session.Delete(T t) 方法 使用这个方法,需要先从数据库中获取实体T或者直接new T(), 给Id赋值,然转载 2013-03-13 10:18:08 · 6504 阅读 · 0 评论 -
NHIBERNATE查询-慢慢补吧
Restrictions.eq 等于 Restrictions.allEq 使用Map,使用key/value进行多个等于的比对 Restrictions.gt 大于 > Restrictions.ge 大于等于 >= Restrictions.lt 小于 Restrictions.le 小于等于 Restrictions.between 对应SQL的BETWEEN子句转载 2013-03-05 17:23:19 · 1339 阅读 · 0 评论 -
Nhibernate中enum属性映射问题
Nhibernate中enum属性映射问题在很早之前我写过《NHibernate中Mapping文件映射enum字段》 其中介绍了enum字段映射方法。但是最近发现了另一个问题。问题描述从昨晚开始一直在调试一个bug,不知道什么原因我的User实体只要获取实例,就有update语句产生,如果事务不commit看不出来,但是如果一次请求中有其他需要commit的时候,通过跟踪就会发现User也upd原创 2016-01-22 10:34:28 · 1002 阅读 · 0 评论