当前位置: 代码迷 >> J2EE >> 一个查询方法有关问题,求指教
  详细解决方案

一个查询方法有关问题,求指教

热度:10   发布时间:2016-04-22 02:03:59.0
一个查询方法问题,求指教
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;   }