Appeler des procédures stockées en Java et JPA
Le stockage de la logique métier dans des procédures stockées améliore les performances et la maintenabilité du code. Cet article explore deux méthodes d'appel de procédures stockées à partir de Java à l'aide de JPA : la méthode CallableStatement et JPA 2.1 StoredProcedureQuery.
Méthode CallableStatement
La classe CallableStatement fournit une méthode polyvalente pour appeler des procédures stockées. Il vous permet de spécifier des paramètres d'entrée et de récupérer des paramètres de sortie ou des ensembles de résultats. Cependant, cela nécessite un mappage manuel entre les types SQL et les objets Java, ce qui peut s'avérer fastidieux.
JPA 2.1 StoredProcedureQuery
JPA 2.1 a introduit la prise en charge intégrée de l'appel de procédures stockées. La classe StoredProcedureQuery simplifie ce processus en vous permettant de transmettre des paramètres d'entrée et de spécifier une classe de résultats ou resultSetMapping.
Utilisez JPA StoredProcedureQuery pour appeler la procédure stockée "getEmployeeDetails" :
<code class="language-java">Query query = em.createNativeQuery("{call getEmployeeDetails(?,?)}", EmployeeDetails.class) .setParameter(1, employeeId) .setParameter(2, companyId); List<EmployeeDetails> result = query.getResultList();</code>
Avantages de l'utilisation de JPA pour appeler des procédures stockées
Instructions SQL qui appellent des procédures stockées
L'instruction SQL correcte pour appeler une procédure stockée est :
<code class="language-sql">{call getEmployeeDetails(?,?)}</code>
Remarque : Placez le nom de la procédure stockée entre accolades et séparez les paramètres par des virgules et des points d'interrogation (?).
Autres notes :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!