Hibernate version: NHibernate 1.2.0.4000
hibernate.cfg.xml:
Code:
<?xml version='1.0' encoding='utf-8'?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<!-- an ISessionFactory instance -->
<session-factory>
<!-- properties -->
<property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
<property name="connection.driver_class">NHibernate.Driver.OracleClientDriver</property>
<property name="connection.connection_string">Server=XX;Data Source=XX;User ID=XX;Password=XX;</property>
<property name="dialect">NHibernate.Dialect.Oracle9Dialect</property>
</session-factory>
</hibernate-configuration>
Mapping documents:Code:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="Umm.Poco.UmmMessage, Umm" table="tb_umm_msg">
<id name="Umm_msg_id">
<column name="UMM_MSG_ID" not-null="true"/>
<generator class="sequence">
<param name="sequence">SQ_UMM_MSG</param>
</generator>
</id>
<many-to-one name="Event_" class="Umm.Poco.Event, Umm" column="FK_EVENT" not-null="true" cascade="save-update"/>
</class>
</hibernate-mapping>
Name and version of the database you are using: Oracle 9
Hallo,
ich schreibe ungefähr 70 Datensätze aus einer Liste in die DB. Dabei sind ~ 50 Instanzen von UmmMessage und ~ 20 Instanzen von UmmEvent.
Im Code rufe ich die obige methode mit einer List<UmmMessage> auf. Die zugehörigen UmmEvents werden durch cascade="save-update" ggf. mit gespeichert.
Problem: das ganze dauert > 5 Sekunden.
Warum? Zuerst hatte ich für jeden Datensatz der liste eine eigene Session/Transaktion, da war es noch langsamer.
Ist NHibernate generell langsam, wenn cascade Funktionalität verwendet wird? Muss ich andere Treiber verwenden?
Vielen Dank :o)
buchstaben