[Hibernate] Insert multi row

Résolu
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 - 4 juin 2009 à 18:34
 SankaWeon - 19 juin 2018 à 13:49
Bonjour.

J'essaie actuellement d'insérer de multiple lignes dans une table, en utilisant Hibernate.
Pour optimiser, je veux éviter de faire un save dans ma boucle. Je me suis donc dis que j'allais construire la requête à la main, et exécuter une requête SQL native.
Malheureusement, ça ne fonctionne pas. Voici un morceau simplifié de mon code qui pose problème:

        SQLQuery query = session.createSQLQuery("INSERT INTO trans2_reviews(raw_id, "
                        + "hotel_id, locale, review_date, transformed_date, translation_status, "
                        + "transformed_text) VALUES(34901, 5166, 'en', '2008-08-16 00:00:00.0', "
                        + "'Thu Jun 04 16:43:44 CEST 2009', 'SOURCE', 'Pouet.')");
        query.executeUpdate();

Et l'erreur:
> Could not execute native bulk manipulation query

J'ai fait beaucoup de recherche, en essayant différente méthodes. Aucune ne fonctionne (en HQL Il n'y a pas INSERT INTO ... VALUES, en critéria, je n'ai rien trouvé de concluant, et les batch insert ne répondent pas à mon besoin). Auriez vous une solution fonctionnelle à ce problème ?

Je vous remercie.
A voir également:

13 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
3 août 2009 à 15:12
J'ai oublié de vous répondre...

J'ai résolu mon problème en réalisant un script shell, qui balance des requêtes SQL. Pour un script de transformation hors code principal, c'est tout à fait acceptable.

Merci à tous.
3
Rejoignez-nous