首页 > 代码库 > 01-08-03【Nhibernate (版本3.3.1.4000) 出入江湖】二级缓存:NHibernate自带的HashtableProvider之命名缓存
01-08-03【Nhibernate (版本3.3.1.4000) 出入江湖】二级缓存:NHibernate自带的HashtableProvider之命名缓存
http://www.cnblogs.com/lyj/archive/2008/11/28/1343418.html
可以在映射文件中定义命名查询,<query>元素提供了很多属性,可以用于缓存结果,
在Customer.hbm.xml映射文件中定义名为selectCustomer的查询由于查询所有Customer并启用缓存查询,缓存模式为默认方式(下面有说明)
<query cacheable ="true" cache-mode="normal" name="selectCustomer"> from Customer </query>
编写一个方法:
[Test] public void NamedQueryCacheTest() { using (_session) { Console.WriteLine("--->第一次使用命名查询"); IList<Customer> customers = _session.GetNamedQuery("selectCustomer") .List<Customer>(); } ResetSession(); using (_session) { Console.WriteLine("--->第二次使用命名查询"); IList<Customer> customers = _session.GetNamedQuery("selectCustomer") .List<Customer>(); } }
NHibernate提供的查询(HQL、条件查询、原生SQL查询)都类似
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。