一个查询方法有关问题,求指教
阅读
- Java code
public List<Object[]> findUser() { final String HQL = "select u.userId,u.userName ,u.userPassword from User u"; return (List<Object[]>) getJpaTemplate().execute(new JpaCallback() { public Object doInJpa(EntityManager em) throws PersistenceException { Query query = em.createQuery(HQL); List<Object[]> list = query.getResultList(); return list; } });
谁能给我讲讲这段代码的逻辑呢。。 大神们。求指教啊
findUser()里面为什么又写了两个方法呢?
------解决方案--------------------
不是写了两个方法,只是定义了一个内部匿名类,execute(new JpaCallback(....)这个匿名的类要实现他的doInJpa()方法。
------解决方案--------------------
我给你舔段差不多的代码
- Java code
public Integer bulkUpdate(final PK[] ids,String propertyName,final Object propertyValue){ final String sqlString = "update "+getEntityName(this.persistentClass)+ " set "+ propertyName +" = :value "+ " where id in (:ids) "; Integer count=hibernateTemplate.execute(new HibernateCallback<Integer>() { public Integer doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(sqlString); query.setParameter("value", propertyValue); query.setParameterList("ids", ids); return query.executeUpdate(); } }); return count; }阅读上一篇:怎么进一步提高JAVA学习 下一篇:返回列表