• Spring executeFind方法:回调查询操作

    该方法用于执行 Hibernate 查询操作,但是它使用 HibernateCallback 接口回调,操作底层的 Hibernate 功能来实现,其返回值是一个 List 集合。

    语法:

    executeFind(HibernateCallback action)

    参数说明:

    • action:HibernateCallback 接口的实现。

    返回值:Hibernate 的查询结果集,类型为 List 集合。

    示例

    本示例通过 getSmallUser 方法利用 executeFind 方法获取年龄不足 18 岁的所有用户,关键代码如下:

    public List getSmallUser(final Integer ID){
      HibernateTemplate htm = getHibernateTemplate();
      final String sql = "FROM TbUser u where u.age<18";  //生成一条SQL语句
      List list = htm.executeFind(new HibernateCallback(){
        public Object doInHibernate(Session session)throws HibernateException,SQLException{
          Query query = session.createQuery(sql);
          List list = query.list();
          return list;
        }
      });  //创建一个List集合接收查询结果
      return list;
    }

全部加载完成