gpt4 book ai didi

java - 如何在hibernate 3中执行存储过程

转载 作者:行者123 更新时间:2023-12-02 07:42:29 24 4
gpt4 key购买 nike

我是 hibernate 新手。我在我的应用程序中使用 hibernate 3 使用 hibernate 注释,我正在 struts 1.3 中开发应用程序。

我的问题是:我已经用谷歌搜索了很多,但无法理解如何使用注释在 hibernate 中调用存储过程,我有一个简单的场景:假设我的 jsp 中有 2 个字段说 1) 代码 2) 名称,我已经在数据库中创建了一个存储过程,用于将这些记录插入表中。现在我的问题是如何执行它

 List<MyBean> list = sessionFactory.getCurrentSession()
.getNamedQuery("mySp")
.setParameter("code", code)
.setParameter("name", name)

我不知道如何执行此操作的确切代码。但我想类似的事情实际上我来自 jdbc 背景,因此不知道如何执行此操作,以及在使用存储过程从数据库中选择数据时我想要的相同操作。

最佳答案

Hibernate 提供了许多简单的方法来调用 SP,例如

  1. 原生 SQL
  2. native SQL 中的命名查询作为注释/XML 映射文件

以下链接显示了如何实现上述各项

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

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querysql.html#sp_query

使用 hibernate 运行 native SQL 查询的示例:

 Session session = getSession();
SQLQuery sqlQuery = session.createSQLQuery("SELECT COUNT(id) FROM tableName WHERE external_id = :external_id");
sqlQuery.setParameter("external_id", idValue);
int count = ((BigInteger) sqlQuery.uniqueResult()).intValue();
releaseSession(session);

关于java - 如何在hibernate 3中执行存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11395123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com