一.准备工作 [1]根据操作系统(位数)选择下载相应版本的MemCache, MemCache的下载和安装,参看: http://www.cnblogs.com/easy5weikai/p/3760677.html [2]第三方MemCache缓存适配器,下载地址: http://sourceforge.net/projects/nhcontrib/files/NHibernate.Caches/ 根据版本号自行下载. 特别说明: 1.一定要版本一致 MemCache缓存适配器写本文的时候最高版…
此文由于当时不知道NHibernate的Sava方法不是更新操作,不知道Save就是Add,造成如下荒唐的求证过程,但结论是对的 ,可报废此文,特此声明. NHibernate--Save方法: CustomerService.cs public void Save(Customer customer) { ISession session = _sessionManager.GetSession(); ITransaction transaction = session.BeginTransa…
第一步骤:hibernate.cfg.xml文件补上如下配置: <?xml version="1.0" encoding="utf-8"?> <!-- This template was written to work with NHibernate.Test. Copy the template to your NHibernate.Test project folder and rename it in hibernate.cfg.xml an…
父表 <class name="Model.Customer, Model" discriminator-value="0"> <!--unsaved-value="0" 主键表中不需要定义,而是需要在子表中定义--> <id name="CustomerId" column="CustomerId" type="Int32" unsaved-value=&…
Nhibernate 并发控制 [1]悲观并发控制 正在使用数据的操作,加上锁,使用完后解锁释放资源. 使用场景:数据竞争激烈,锁的成本低于回滚事务的成本 缺点:阻塞,可能死锁 [2]乐观并发控制: 所谓乐观,就是乐观的认为其他人没有在用该资源,资源的使用者不加锁. A 读取数据后,如果该数据被别人B修改,产生错误,A回滚事务并重新开始. 使用场景:数据竞争不激烈,回滚事务的成本低于锁的成本. ---------------------------------------------------…
http://www.cnblogs.com/lyj/archive/2008/11/28/1343418.html 管理NHibernate二级缓存 NHibernate二级缓存由ISessionFactory创建并由ISessionFactory自行维护.我们使用NHibernate操作数据时,ISessionFactory能够自动同步缓存,保证缓存的有效性.但是当我们批量操作数据时,往往NHibernate不能维护缓存持久有效.ISessionFactory提供了可编程方式的缓存管理方法.…
http://www.cnblogs.com/lyj/archive/2008/11/28/1343418.html 可以在映射文件中定义命名查询,<query>元素提供了很多属性,可以用于缓存结果, 在Customer.hbm.xml映射文件中定义名为selectCustomer的查询由于查询所有Customer并启用缓存查询,缓存模式为默认方式(下面有说明) <query cacheable ="true" cache-mode="normal"…
缓存的范围? 1.事务范围 事务范围的缓存只能被当前事务访问,每个事务都有各自的缓存,缓存内的数据通常采用相互关联的对象形式.缓存的生命周期依赖于事务的生命周期,只有当事务结束时,缓存的生命周期才会结束.事务范围的缓存使用内存作为存储介质,一级缓存就属于事务范围. 2.应用范围 应用程序的缓存可以被应用范围内的所有事务共享访问.缓存的生命周期依赖于应用的生命周期,只有当应用结束时,缓存的生命周期才会结束.应用范围的缓存可以使用内存或硬盘作为存储介质,二级缓存就属于应用范围. 3.集群范围 在集群…
以下属于不明来源资料: 引入 在程序运行过程中使用对象的方式对数据库进行操作,这必然会产生一系列的持久化类的实例对象.这些对象可能是刚刚创建并准备存储的,也可能是从数据库中查询的,为了区分这些对象,根据对象和当前会话的关联状态,我们可以把对象分为三种: 瞬时对象:对象刚刚建立.该对象在数据库中没有记录,也不在ISession缓存中.如果该对象是自动生成主键,则该对象的对象标识符为空. 持久化对象:对象已经通过NHibernate进行了持久化,数据库中已经存在对应的记录.如果该对象是自动生成主键,…
Nhibernate事务的使用: public void Add(Customer customer) { ISession session = _sessionManager.GetSession(); ITransaction transaction = session.BeginTransaction(); try { session.Save(customer); session.Flush();//清除一级缓存 transaction.Commit(); } catch (Except…
相关资料: http://www.cnblogs.com/lyj/archive/2008/10/29/1322373.html 问题的提出: 1.延迟加载,可能会引起session已经关闭的异常,例如: 当实现延迟加载,当需要Orders时,会通过session去查询,session.但此时,由于session已经关闭, 所以会抛出异常: {"Initializing[Model.Customer#336]-failed to lazily initialize a collection of…
这篇文章 http://ayende.com/blog/3988/nhibernate-the-difference-between-get-load-and-querying-by-id One of the more common mistakes that I see people doing with NHibernate is related to how they are loading entities by the primary key. This is because the…
默认配置文件名称是:hibernate.cfg.xml 放置在应用程序集的根目录下 <?xml version="1.0" encoding="utf-8"?> <!-- This template was written to work with NHibernate.Test. Copy the template to your NHibernate.Test project folder and rename it in hibernate.…
Criteria API关联查询 如果说HQL查询还有需要了解点SQL语法知识,并不是完全彻底面向对象查询, 那么Criterial API就是完全面向对象的查询方式. public IList<Customer> UseCriteriaAPI_GetCustomersWithOrders(DateTime orderDate) { return _session.CreateCriteria(typeof(Customer)) .Add(Restrictions.Eq("First…
public IList<Customer> GetAllHql() { IList<Customer> result = null; ISession session = _sessionManager.GetSession(); try { result = session.CreateQuery("from Customer").List<Customer>(); } catch (Exception) { throw; } finally {…
Nhibernate 支持原生的SQL查询 : /// <summary> /// 使用原生的SQL查询 /// </summary> /// <param name="datetime"></param> /// <returns></returns> public IList<Customer> GetCustomersByDateTimeUsingSql(string datetime) { IL…
相关文章: http://www.cnblogs.com/amboyna/archive/2008/02/18/1072260.html注意上面是hibernate,不是Nhibernate,这解释是否用于Nhibernate,自己验证. cascade的取值范围:all : 所有情况下均进行关联操作. none:所有情况下均不进行关联操作.这是默认值. save-update:在执行save/update/saveOrUpdate时进行关联操作. delete:在执行delete时进行关联操作…
要点: 1. <!--双向关联时要用: inverse:由子表来维护关系,cascade:级联的关系 如果没有这个设置, 插入Customer成功(即使现在Order插入Order抛异常,这时产生了垃圾数据, 好的做法是用事务两者都能插入,避免垃圾数据的产生--> <!--经测试:只需要在主表配置cascade="all",而子表不用配置cascade="all", 当删除主表实体时,子表的级联实体也会被删除--> <!--cascad…
tensorflow学习笔记: 3.2 Tensorflow中定义数据流图 张量知识矩阵的一个超集. 超集:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集,反过来,S2是S1的子集. 张量形状: 固定长度: [],() 0阶次:[3],(2,3) 1/2阶次 不定长度:[None] 表示任意长度的向量,(None,3) 表示行数任意,3列的矩阵 获取Op:tf.shape(tensor, name="tensor_shape&qu…
格林威治时间即UTC/GMT时间,1970年01月01日00时00分00秒(即UTC+8的北京时间1970年01月01日08时00分00秒)计算代码如下: /** * 获取指定时间到格林威治时间的秒数 * UTC:格林威治时间1970年01月01日00时00分00秒(UTC+8北京时间1970年01月01日08时00分00秒) * @param time * @return */ public static long diffSeconds(String time){ Calendar cale…
Leetcode 542:01 矩阵 01 Matrix### 题目: 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. 两个相邻元素间的距离为 1 . Given a matrix consists of 0 and 1, find the distance of the nearest 0 for each cell. The distance between two adjacent cells is 1. 示例 1: 输入: 0 0 0 0 1 0 0 0 0 输出…
CISCO运维记录之3650堆叠设备升级IOS(Version 03.03.02.SG版本存在bug) 1. 问题详情 思科45系列交换机使用Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSAL-M), Version 03.03.02.SG RELEASE SOFTWARE (fc1)版本存在bug,提示使用内存不足10% ,以下是监控系统告警记录: 2. 问题分析: sh tech ( if unable to collect show t…
我先把Exception错误信息贴出来:org.apache.jasper.JasperException: /WEB-INF/jsp/topicAction/addUI.jsp (line: 40, column: 0) Unable to find setter method for attribute: style 通过Exception定位的源代码是: 通过提示我们大概能知道是因为找不到style属性的setter方法,可这个标签是struts2封装的HTML原生标签,但style属性在…
吧啦啦啦啦啦啦啦啦啦啦啦能量,ACM,跨!变身!变成一个智障! 04正在酝酿中!!!马上更新!!!!!  01题意:有一个n个点的图,对于任意两个不同的点,他的权值是两个点下标的最小公倍数,求最小生出树. 思路:最小生成树就是1到各个点,ans=n*(n+1)/2-1; #include <bits/stdc++.h> using namespace std; typedef long long LL; const int MAX=1000010; LL n,m; int main() { i…
1.Genesis-3D开源游戏引擎主要面向哪些用户人群?有限制吗? 1.我们的引擎没有限制,只要您想了解和使用我们的引擎,就可以加入Genesis-3D的大家庭.2.我们的主要用户群是各个相关的企业,游戏工作室.独立游戏开发者,学生.游戏爱好者等等. 2.我是一个超级新手,我应该怎么入门?你们的网站论坛在哪里?你们引擎支持2D.2.5D的开发吗?要钱不? 1.我们的Genesis-3D引擎支持2D.2.5D.3D的游戏开发,开源免费!2.我们可以高效便捷的发布多个平台的游戏版本,我们拥有完善强…
作为微软的MVP,有一个我最喜欢的好处,就是可以与产品组(产品研发部门)有零距离接触,可以最先拿到即将发版的产品,并且和产品组沟通,对产品中出现的问题实时反馈. 看到TFS产品组吸收了自己的建议和反馈,在发布版本中更新了自己的反馈,对这个产品更加喜欢了. 之前产品组推出TFS的RC版本,一般都只有英文版,没有中文版的.但是往往由于语言的原因,其中隐藏着许多的问题,例如工作项模板,中文和英文的差异较大. 自从我和一个日本的MVP提出要求后,产品组在后续发布RC版本,都提供了中文和英文版.TFS 2…
今天来讨论一下装饰器.装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用.概括的讲,装饰器的作用就是为已经存在的对象添加额外的功能. 1. 装饰器入门 1.1. 需求是怎么来的? 装饰器的定义很是抽象,我们来看一个小例子. 1 2 3 4 def foo():     print 'in foo()'   foo() 这是一个很无聊的函数…
JAVA Quick Java 8 or Java 7 Dev Environments With Docker Printing arrays by hacking the JVM Mobile How to Create a News Reader With React Native: Web Page Component Managing Mobile Performance Optimization Android From Scratch: Building Your First An…
Question : 难道不是所有web页面原先都放在服务器上吗? 甚至存储在.html文件中的HTML页面? Answer : 没错, 网站的所有文件都存储在服务器上, html, css, php 等, 不过, 它们并非都由服务器处理, HTML和CSS文件以及图像文件会直接发送到客户端浏览器, 而不会操作其中具体包含什么. PHP文件有所不同, 因为 PHP 文件中包含要由 Web 服务器处理并在服务器上运行的代码. 并非将PHP代码发送到浏览器, 而是会发送运行PHP代码的结果到浏览器,…
关于Application.Lock和Lock(obj) Posted on 2012-03-01 15:28 billpeng 阅读(3498) 评论(3) 编辑 收藏 1.Application.Lock和Application.UnLock一般配对出现,用于锁住Lock与UnLock之间的所有代码(注意不光锁住对于Application的赋值). 2.Lock(obj) 于用锁住obj对象,obj对象必须是全局对象(如:Application). Application.Lock/UnLo…