Les Sessions Hibernate et les Transactions avec les Threads

Je suis en train de travailler sur un projet qui utilise Hibernate3 et JDBC pour se connecter/interagir avec notre base de données (MSSQL 2008)

Actuellement, nous créons notre session d'usine dans notre classe principale alors commencer notre transaction, alors nous commençons un nouveau thread et le thread crée des connexions et de ce pas. Je vais voir si je peut illustrer cela avec certains pseudo-code...

public static main(String[] args){
    for(...){
        SessionFactory sf = new SessionFactory();
        sf.getCurrentSession.beginTransaction();
        CreateNewThreadedObject.run();
        sf.getCurrentSession.getTransaction.commit();
    }
}

Ma question est, est-ce sécuritaire? Je sais que les sessions ne sont pas thread-safe, mais je ne suis pas vraiment à l'aide de la session dans le fil. Si tout ce que je suis en utilisant la Transaction. Serait de passage de la sessionfactory à la filetée objet de mieux? Tout avis est apprécié!

Si vous êtes à l'aide de la transaction dans la donné naissance à fil (de sorte que l'action soit exécutée par le thread peut être une partie de l'opération a commencé en main) alors ce pourrait échouer l'opération principale peut s'engager avant le pondu thread termine son unité de travail

OriginalL'auteur Shaded | 2011-01-13