web-dev-qa-db-fra.com

Comment puis-je exécuter un script SQL natif dans JPA / Hibernate?

J'ai un script SQL avec vidage de base de données. Comment puis-je l'exécuter en utilisant le EntityManager d'Hibernate?

Je l'ai essayé de cette façon:

EntityManager manager = getEntityManager(); 
Query q = manager.createNativeQuery(sqlScript);
q.executeUpdate();

mais cela ne fonctionne que lorsque sqlScript contient une seule requête SQL, alors que j'ai besoin d'exécuter plusieurs insertions et autres choses complexes.

SGBDR: Oracle Database 11g Express Edition version 11.2.0.2.0 - Production 64 bits

37
Anke

Terminez votre requête avec le début du bloc de fin. Comme

EntityManager manager = getEntityManager(); 
Query q = manager.createNativeQuery("BEGIN " + sqlScript + " END;");
q.executeUpdate();
59
hkutluay