码迷,mamicode.com
首页 > 其他好文 > 详细

Hirbernate 二级缓存引发的问题

时间:2015-03-28 19:00:54      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:hirbernate   二级缓存   

Hirbernate 的二级缓存不受控 可能引发的问题

query.setCacheable(true);

使用查询缓存 可能第一次没取到数据就无法缓存 认定该语句无返回结果 即使你把语句丢到

数据库工具中能查到数据 该方法也返回的结果也是没有数据

 public List<Object> getSyllabusByNowTime(String date) {
  StringBuilder sql = new StringBuilder();
  sql.append("SELECT s.*,b.class_name className,c.subject_name subjectName,d.teacher_name teacherName,e.syllabustype_Name syllabustypeName ");
  sql.append("FROM TBL_DRM_SYLLABUS s,TBL_DRM_CLASS b,TBL_DRM_SUBJECT c,TBL_DRM_TEACHER d,DATA_DRM_SYLLABUSTYPE e ");
  sql.append("where s.TEACHER_ID = d.TEACHER_ID ");
  sql.append("and s.subject_Id = c.subject_Id ");
  sql.append("and s.class_Id = b.class_Id ");
  sql.append("and s.syllabus_Type = e.syllabustype_Id ");
  sql.append("and s.DEL_FLG = 0 and b.DEL_FLG = 0  ");
  sql.append("and s.SYLLABUS_DATE = ‘");
  sql.append(date+" 00:00:00.000‘ ");
  sql.append("and datediff(hour,getdate(),CAST(SUBSTRING(CONVERT(varchar, s.SYLLABUS_DATE, 120 ),0,11)+‘ ‘+SUBSTRING(s.CLASS_PERIOD,0,6) as datetime))<10 ");
  sql.append(" order by s.SYLLABUS_DATE desc");
  Query query = getSession().createSQLQuery(sql.toString());
  //query.setCacheable(true);
  System.out.println(sql.toString());
  List<Object> objs = query.list();
  return objs;
 }
 

本文出自 “The_Monster” 博客,请务必保留此出处http://zzqnobody.blog.51cto.com/7059797/1625919

Hirbernate 二级缓存引发的问题

标签:hirbernate   二级缓存   

原文地址:http://zzqnobody.blog.51cto.com/7059797/1625919

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!