getHibernateTemplate()。getSessionFactory()。getCurrentSession



Gethibernatetemplate



1. getHibernateTemplate()。getSessionFactory()。createSQLQuery(insersql).executeUpdate()データストレージ用にSQLステートメントを直接記述します。

2. getHibernateTemplate()。find(hql)



public List findAll() throws Exception { log.debug('finding all User instances') try { String queryString = 'from User' Session session = getHibernateTemplate().getSessionFactory().getCurrentSession() Query query = session.createSQLQuery('select distinct(workid) workid from work') List list = query.list() String deletesql = 'delete from overwork' System.out.println(deletesql) session.createSQLQuery(deletesql).executeUpdate() for (BigInteger workid : list){ List list_time = new ArrayList() StringBuffer buffer = new StringBuffer() list_time.add(workid) buffer.append(workid + ',') for (int i = 1 i <29 i++){ String day = '2013/02/' + i String startime = ' 16:45:00' String quer = 'from Work where workid = ' + workid + ' and (worktime between ''+ day + startime + '' and ''+ day +' 23:59:00')' List list_1 = getHibernateTemplate().find(quer) //(List)session.createSQLQuery().list() if (list_1.size()> 0){ Timestamp total_over = list_1.get(0).getWorktime() for (Work work : list_1){ if (work.getWorktime().compareTo(total_over) > -1){ total_over = work.getWorktime() } } SimpleDateFormat df = new SimpleDateFormat('yyyy-MM-dd HH:mm:ss')// String end = df.format(total_over) String day1 = String.valueOf(i) if (day1.length() <2){ day1 = '0' + day1 } String begin = '2013-02-' + i + startime System.out.println('--------begin: '+ begin + ' end:' + end) String time = getTimeSpace(begin, end) list_time.add(time) buffer.append(' '' + time + '',') } else { list_time.add('''') buffer.append(' '',') } } buffer.append(''',') buffer.append(''',') buffer.append(''',') String bufferstr = buffer.toString() bufferstr = bufferstr.substring(0, bufferstr.length() - 1) String insersql = 'insert into overwork values (' + bufferstr + ')' System.out.println(insersql) session.createSQLQuery(insersql).executeUpdate() } System.out.println(list.size()) return getHibernateTemplate().find(queryString) } catch (RuntimeException re) { re.printStackTrace() log.error('find all failed', re) throw re } }