如何使用Hibernate或JPA调用存储过程?

推荐答案

您可以执行以下操作

 Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
PreparedStatement st = session.connection().prepareStatement("{call procedureName(?, ?)}");
                st.setString(1, formatter.format(parameter1));
                st.setString(2, formatter.format(parameter2));
                st.execute();
tx.commit();

请在需要的地方添加异常处理.

Database相关问答推荐

位置运算符($)工作不正确

在多组MongoDB中查找最新文档的有效方法

Prisma - 将属性的类型设置为枚举数组

MySQL主键:UUID / GUID vs BIGINT(时间戳+随机)

即使使用列入白名单的 IP,也无法连接到 Azure SQL 数据库

无法使用命令行运行 liquibase

在 phpmyadmin 中导入时如何跳过重复记录

Uniqueidentifier vs. IDENTITY vs. Material Code - 主键的最佳 Select 是哪个?

为什么 MySQL 连接被许多连接错误阻止?

数据库设计—应该避免一对一的关系吗?

主键和主属性有什么区别?

如果数据库已经提供缓存,为什么还要使用应用程序级缓存?

在数据库中存储年份

如何将特定的、可变的 order订单保存到数据库中

如何在文件系统中存储图像

如何在 Google AppEngine 上实现自动增量

SQL 截断数据库?如何截断所有表格

我将如何为读写操作实现单独的数据库?

我可以在 /sdcard 上下载 SQLite 数据库并从我的 Android 应用程序访问它吗?

如何将空值传递给外键字段?