...
Note | ||
---|---|---|
| ||
This is no longer turned on, after consulting with Thomas, switched back to findByNamedQuery, renamed the 'askHibernate' method below to 'findByNamedQuery' and trapped all Hibernate exceptions, logged, so this method does not throw exceptions |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
List courses = getHibernateTemplate().findByNamedQuery("findCourseInfoByYearTermCntlNum", new Object[] { courseInfoFields[COURSE_TERM_YEAR], courseInfoFields[COURSE_TERM_ID], courseInfoFields[COURSE_CNTL_NUM] }, new Type[] { Hibernate.STRING, Hibernate.STRING, Hibernate.STRING }); |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
List courses = askHibernate("findCourseInfoByYearTermCntlNum", new Object[] { courseInfoFields[COURSE_TERM_YEAR], courseInfoFields[COURSE_TERM_ID], courseInfoFields[COURSE_CNTL_NUM] }); |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
private List askHibernate(final String queryName, final Object[] args) { HibernateCallback hc = new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { Query q = session.getNamedQuery(queryName); if (args != null) for (int i=0;i<args.length;i++) { String className = args[i].getClass().getName(); if (className.equals("java.lang.String")) { q.setString(i, (String)args[i]); } else if (className.equals("java.lang.Integer")) { q.setInteger(i, (Integer)args[i]); } } return q.list(); } }; return getHibernateTemplate().executeFind(hc); } |