摘要: 1. 关于hibernate缓存的问题:1.1.1. 基本的缓存原理Hibernate缓存分为二级,第一级存放于session中称为一级缓存,默认带有且不能卸载。第二级是由sessionFactory控制的进程级缓存。是全局共享的缓存,凡是会调用二级缓存的查询方法 都会从中受益。只有经正确的配置后二级缓存才会发挥作用。同时在进行条件查询时必须使用相应的方法才能从缓存中获取数据。比如Query.iterate()方法、load、get方法等。必须注意的是session.find方法永远是从数据库中获取数据,不会从二级缓存中获取数据,即便其中有其所需要的数据也是如此。查询时使用缓存的实现过程为:首 阅读全文
posted @ 2011-12-04 23:50 啊孟 阅读(798) 评论(0) 推荐(0) 编辑
摘要: 什么时候会出现N+1问题? 在hibernate中,当进行一个表的查询时,当这个表与另外的表是多对一,或者是一对多关联时,就会出现N+1问题,当查询一条语句时,比如主键name=1,而与这个name相关联的另一张表对应name的有N个记录,这时就出另外发出N条语句去查询,而我又不要那些记录,这时就是N+1问题。即:‍1)1对多,在1方,查找得到了n个对象, 那么又需要将n个对象关联的集合取出,于是本来的一条sql查询变成了n+1条2)多对1,在多方,查询得到了m个对象,那么也会将m个对象对应的1方的对象取出, 也变成了m+1解决方法:1。设置lazy=true;2.在本类DTO中有关联另外表的 阅读全文
posted @ 2011-12-04 23:42 啊孟 阅读(611) 评论(0) 推荐(0) 编辑
摘要: JavaScript表单验证email,判断一个输入量是否为邮箱email,通过正则表达式实现。//检查email邮箱functionisEmail(str){varreg=/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;returnreg.test(str);}区号+座机号码+分机号码:regexp="^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})+(/-[0-9]{1,4})?$"手机(中国移动手机号码):regexp="^((/(/d{3}/))|(/ 阅读全文
posted @ 2011-12-04 23:17 啊孟 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 1 JSP部分代码 2 3 4 5 <script src="/js/jquery-1.2.6.min.js" type="text/javascript"></script> 6 <script> 7 //为了避免jquery中的'$'与其它的'$'冲突,在此将jquery中的'$'重命名为'jQuery' 8 var jQuery=$; 9 </script> 10 11 12 13 14 <script> 15 16 17 / 阅读全文
posted @ 2011-12-04 23:08 啊孟 阅读(3662) 评论(1) 推荐(0) 编辑
摘要: 经常会用到日历控件,现在就整理一下,好看即好用的日历控件第一种方案1.建立一个JS文件:Calendar.js<!--var cal;var isFocus=false; //是否为焦点//function SelectDate(obj,strFormat) //两个参数改为只传一个function SelectDate(obj){ var date = new Date(); var by = date.getFullYear()-10; //最小值 → 10 年前 var ey = date.getFullYear()+10; //最大值 → 10 年后 cal =... 阅读全文
posted @ 2011-12-04 22:34 啊孟 阅读(1579) 评论(0) 推荐(1) 编辑