1

我用以下 sql 语句编写了一个存储过程

  1. 在表 a 中插入一行
  2. 更新表 b 中的一行
  3. 在错误表中插入一行
  4. 选择查询列出错误表中的记录数

我可以使用 query.list() 吗?它会正确执行所有插入、更新和返回列表吗?

我认为我们不能使用 query.executeUpdate() 因为它只返回在最后一个 sql 语句中更新或插入的行数。

提前致谢, 凯瑟尔

4

2 回答 2

1

如果它是存储过程,您可以像这样使用

 try
   {
      con  = connectionPool.getConnection();
      proc = con.prepareCall("{ call set_death_age(?, ?) }");
      proc.setString(1, dyingBard.getName());
      proc.setInt(2, age);
      proc.execute();
   }
      catch (SQLException e) {}
于 2012-05-10T09:27:54.067 回答
0

http://www.mkyong.com/hibernate/how-to-call-store-procedure-in-hibernate/

有关如何使用休眠调用存储过程的示例,请参见上面的链接

如果你使用的是 spring,你也可以通过 Spring JdbcTemplate 调用存储过程。

于 2012-05-10T09:03:41.410 回答