La meilleure façon d'insérer une bonne quantité d'enregistrements en veille prolongée
Je suis en utilisant hibernate + play! cadre au travail, est-il une "meilleure pratique" sur l'insertion d'une bonne quantité de documents à l'aide d'hibernate? Ils sont de l'ordre de 6 000 à 10 000 par fichier texte, donc je ne sais pas si Hibernate va jusqu'à s'étouffer sur le travail ou lever une exception.
Toute suggestion laissez-moi savoir, laissez-moi savoir si je dois expliquer plus
source d'informationauteur allenskd
Vous devez vous connecter pour publier un commentaire.
*Java Persistence et Hibernate" (Manning) et à la suite d'un commentaire de la Pangée, l'utilisation d'un stateless session (qui ne dispose pas d'un contexte de persistance de cache) :
Juste quelques corrections de codes dans la réponse de Kartoch.
Selon Lot Procession"L'insert(), update() et delete() opérations définies par le statelesssession n'interface sont considérés comme de base de données directement au niveau de la ligne d'opérations. Ils ont dans l'immédiat, l'exécution de SQL INSERT, UPDATE ou DELETE, respectivement. Ils ont des sémantiques différentes de la save(), saveOrUpdate() et delete() opérations définies par l'interface de Session."
Pas plus save(), la méthode flush(), clear() pour statelesssession n'. Le code devrait ressembler à ceci :
Enfin, Voici une discussion de la différence entre le normal lot de l'insertion et de la statelesssession n'insérez : À l'aide de statelesssession n'traitement par Lots.
Il suffit d'ouvrir votre session et de transaction.
Ajouter tous les éléments de la sauver de la session.
Puis de valider la transaction.
Le mieux est d'utiliser StatelessSessions. Considérons l'exemple suivant (http://docs.jboss.org/hibernate/orm/3.3/reference/en-US/html/batch.html):
Vous pouvez toujours obtenir un objet de Connexion directement dans le cas où vous voulez faire les inserts en dehors de mise en veille prolongée.