En hibernation comment définir par programme le niveau d'isolation d'une transaction, ou comment créer deux transactions avec différents niveaux d'isolation

J'utilise Hibernate 3.6 avec MSSQL 2005, 2008, 2012.

Je voudrais définir le niveau d'isolation d'une transaction créée par la session, mais je ne trouve aucune information sur.

C'est mon code

Session sess = factory.openSession(); Transaction tx = null; try { tx = sess.beginTransaction(); // do some work ... tx.commit(); } catch (RuntimeException e) { if (tx != null) tx.rollback(); throw e; // or display error message } finally { sess.close(); } 

Je voudrais faire quelque chose comme ça

  sess.beginTransaction(1|2|4|8); 

Est-ce possible?

Je vous remercie.

Je viens de découvrir une solution qui a fonctionné pour moi

  if (forceReadCommitted) { this.session.doWork(new Work() { @Override public void execute(Connection connection) throws SQLException { connection.setTransactionIsolation(2); } }); } 

mais vous pouvez remarquer que c'est pour toute la connection et non pour une transaction spécifique. Il pourrait y avoir de meilleures solutions encore.