sql >> データベース >  >> RDS >> Mysql

INパラメータとOUTパラメータの両方を持つHibernateからストアドプロシージャを呼び出す方法

    基本的なタイプを出力する単純なストアドプロシージャがあるとします。

    CREATE PROCEDURE count_comments (
       IN postId INT, 
       OUT commentCount INT
    ) 
    BEGIN
        SELECT COUNT(*) INTO commentCount 
        FROM post_comment  
        WHERE post_comment.post_id = postId; 
    END
    

    このストアドプロシージャは、JPA StoredProcedureQuery

    StoredProcedureQuery query = entityManager
        .createStoredProcedureQuery("count_comments")
        .registerStoredProcedureParameter(
            "postId", Long.class, ParameterMode.IN)
        .registerStoredProcedureParameter(
            "commentCount", Long.class, ParameterMode.OUT)
        .setParameter("postId", 1L);
     
    query.execute();
     
    Long commentCount = (Long) query
        .getOutputParameterValue("commentCount");
    


    1. SQLServerデータベーススナップショット-3

    2. ストアド関数またはプロシージャを呼び出しても、変更は挿入および永続化されません

    3. 複数のパラメーターを持つPHPisset()

    4. MySQLで2つの日付の間のレコードを取得する方法