MySQL:从hibernate调用存储过程(从多个表返回数据)

时间:2012-07-15 19:59:53

标签: java mysql hibernate stored-procedures primefaces

我在mysql中有一个存储过程,它接收多个参数。 现在,我想从java中的hibernate调用它。 此外,我想实现延迟加载,因此,例如,如果db中有50,000条记录。该过程不会立即返回所有记录,但仅在用户需要时才返回。 我正在使用primefaces数据表来显示数据。

注意我不是数据库表的所有列,根据用户将提供给存储过程的参数,我只需要5到6个db列。为此,我创建了POJO,其列表将保存日期。

摘要

  1. 从hibernate调用存储过程并传递多个参数 它。
  2. 实现延迟加载以提高效率 应用
  3. UPDATE 好的,我使用CallableStatement和ResultSet解决了上述摘要中的问题1

    有关2的任何建议吗?

1 个答案:

答案 0 :(得分:0)

通常不需要同时为成千上万行获取多个字段。大多数用例属于从大量行中仅提取几列或仅为少量行提取大量列的类别。在ORM之前的日子里,标准方法是创建两个查询,一个返回带有几列的结果集/游标,另一个返回 - 返回单行的所有列。此外,还创建了两个值对象来处理这些存储过程的结果。看起来你已经走了一半,所以你也可以使用Hibernate完全实现这个方法。