如何使用 JPA 在 playframework 1.2.4 中执行存储过程?

Posted

技术标签:

【中文标题】如何使用 JPA 在 playframework 1.2.4 中执行存储过程?【英文标题】:How to execute a stored procedure in playframework 1.2.4 using JPA? 【发布时间】:2015-09-15 17:01:53 【问题描述】:

如何使用JPA在playframework 1.2.4中执行存储过程?后端是mysqldatabase。我想在play 1.2.4中执行存储过程。我是play framework的新手。

【问题讨论】:

【参考方案1】:

这可能有用也可能没用,但这是我使用 Spring JDBC 的方法。首先创建一些程序:

DELIMITER //
DROP PROCEDURE IF EXISTS my_procedure //
CREATE PROCEDURE my_procedure(    
    OUT id INT,
    OUT name VARCHAR(70),
    OUT other VARCHAR(1024)
)
BEGIN
    SELECT
        ...
    FROM
        ...
    GROUP BY
        ...
END //
DELIMITER ;

然后使用 Spring JDBC RowMappers 执行查询:

JdbcTemplate jt = new JdbcTemplate(DB.getDataSource(DB_User));
List<Details> list = jt.query(MyProcedureRowMapper.QUERY, 
    new Object[] , new MyProcedureRowMapper());

查询如下所示:

public static final String Query = " CALL my_procedure(@id, @name, @other) ";

【讨论】:

以上是关于如何使用 JPA 在 playframework 1.2.4 中执行存储过程?的主要内容,如果未能解决你的问题,请参考以下文章

playframework 1.2.x:等待/异步和 JPA 事务

Play Framework 1 使用啥来实现 ORM?

使用 play framework 1.+ 指定图像名称(使用 play.db.jpa.blob)

使用 Eclipse Scala IDE 中的 spring-data 注入测试 playframework 2.4

与 Play Framework 1.2.5 JPA 的多对多关系

playframework的多对多删除问题