Accélérer les opérations d'insertion en bloc avec NHibernate

Je veux accélérer en vrac insert opérations avec NHibernate 3.2 sur Oracle 11g. Pour ce faire, j'ai essayé

Session.Save(entity);
Session.Flush();
Session.Clear();

... dans mon foreach boucle, mais a obtenu une exception provoquée par des objets manquants dans la Session:

échoué paresseusement initialiser une collection de rôle: Maclasse.PropertyX, pas de session ou la session a été fermée

Une autre tentative a été de définir la taille de lot:

<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
  <session-factory>
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
    <property name="connection.connection_string">xxx</property>
    <property name="dialect">NHibernate.Dialect.Oracle10gDialect</property>
    <property name="adonet.batch_size">50</property>
    <property name="query.substitutions">true=1, false=0</property>
    <property name="proxyfactory.factory_class">NHibernate.Bytecode.DefaultProxyFactoryFactory, NHibernate</property>
  </session-factory>
</hibernate-configuration>

de plus, j'ai mis Session.SetBatchSize(50) dans mon code un a obtenu l'exception suivante:

Pas de la taille des lots a été défini pour la session de l'usine, de dosage est
désactivée. Ensemble adonet.batch_size = 1 pour activer le traitement par lots.

Le seul endroit où cette exception est levée est NonBatchingBatcherde sorte qu'il ressemble à ma session, a le tort de dosage.

Quel est le problème ici? Comment puis-je accélérer lot de plaquettes avec NHibernate (sans l'aide de statlese séances)?

source d'informationauteur deamon