Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да извикате съхранена процедура от хибернация, която има и IN и OUT параметри

Като се има предвид, че имате проста съхранена процедура, която извежда основен тип:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обработка на данни от поле за множествен избор

  2. MySQL RAND() началните стойности почти се повтарят

  3. Laravel:Вложената заявка за присъединяване води до подмасив

  4. Как да се показват филтрирани данни в JFreeChart

  5. MAX() – Намерете максималната стойност в колона в MySQL