Laden...

NHibernate

Letzter Beitrag vor 18 Jahren 7 Posts 4.317 Views
NHibernate

Drei Fragen:

Welche Erfahrungen habt ihr mit Stabilität und Performance gemacht(Ist es reif für den Produktionseinsatz???)?

Es ist ein Port von Hibernate, also Java. Ist es mit Java.Net realisiert(oder ne andere .Net Sprache) oder sind auch Module dabei, die die Java Runtime benötigen?

Kann man auch XML-Dateien als Backend nehmen, oder muss es eine DB sein?

Grüße Christoph

Auf http://wiki.nhibernate.org/display/NH/Supported+Databases siehst du alle Datenbanken die unterstützt werden. Ein XML Storage wird daher anscheinend nicht unterstützt.

Ich persönlich kenne Hibernate hauptsächlich von der Javaseite. Unter .NET hab ich mich kurz damit gespielt, habe aber das Gefühl dass es nicht so geschmeidig funktioniert wie unter Java.

Persönlich ist mir nHibernate auch ein wenig zu langsam - jedoch ist das nur mal eine gefühlsmäßige Aussage da ich keine Zeit hatte, einen Performancetest zu machen, wird es sicherlich auch irgendwo im Internet bereits geben.

.NET GUI - Die Community für grafische Oberflächen unter .NET
Jetzt kostenlos besorgen: .NET BlogBook
Norbert Eder
DasBackup

Original von Quallo
Es ist ein Port von Hibernate, also Java. Ist es mit Java.Net realisiert(oder ne andere .Net Sprache) oder sind auch Module dabei, die die Java Runtime benötigen?

Sieh dir mal den Sourcecode an:
http://cvs.sourceforge.net/viewcvs.py/nhibernate/nhibernate/
Eindeutig C#. Soweit ich das sehe wird nirgends die JRE verwendet.

Kann man auch XML-Dateien als Backend nehmen, oder muss es eine DB sein?

Wenn es dafür einen IDriver gibt, geht alles. Es gibt in jedem Fall ADO.NET Provider, die XML wie eine "normale" Datenbank ansprechen können (z.B. hier). Du müsstest also eventuell einen eigenen IDriver implementieren.

Aber das sind alles nur Vermutungen, ich habe NHibernate noch nicht verwendet.

MfG VizOne

Ich bekomme ständig eine Nhibernate.MappingException in der Zeile:

config.AddClass(typeof(mappingtest.Department));

Ich habe eine Eingebettete Resource mit dem Namen mappingtest.Department.hbm.xml (ohne mappingtest auch schon versucht), aber er sagt immer, dass er die nicht finden kann.

Vorschläge?

Wahrscheinlich hast du einen Standardnamespace in den Projektsettings gesetzt. Dann fügt VS den vor den Namen jeder Resource, also z.B. Standardnamespace.mappingtest.Department.hbm.xml, und NHibernate kann die Resource nicht mehr finden.

MfG VizOne

Danke für die Hilfe!
Es lag daran, dass ich die Dateien mit der Endung .hbm.xml nicht im gleichen Ordner wie die Klassen hatte.

Grüße Christoph

Original von VizOne
Wahrscheinlich hast du einen Standardnamespace in den Projektsettings gesetzt. Dann fügt VS den vor den Namen jeder Resource, also z.B. Standardnamespace.mappingtest.Department.hbm.xml, und NHibernate kann die Resource nicht mehr finden.
MfG VizOne

Hallo,

ich habe derzeit genau das selbe Problem das NHibernate mein Mappingfile nicht findet...Die dazugehörige Klasse sowie das Mappingfile liegen im Projektroot und auch da umbennen von von Zug.hbm.xml in Standardnamespace.Zug.hbm.xml haben haben nicht geholfen 🤔 auch absolute pfade haben nichts gebracht.

ich konfiguriere nhibernate in einem seperaten xml-file (hibernate.cfg.xml)


<?xml version='1.0' encoding='utf-8'?>
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.0">
  <!-- an ISessionFactory instance -->
  <session-factory>
    <!-- properties -->
    <property name="connection.provider">NHibernate.Connection.DriverConnectionProvider</property>
    <property name="connection.driver_class">NHibernate.Driver.SqlClientDriver</property>
    <property name="connection.connection_string">Server=DAVETEST\SQLEXPRESS;initial catalog=NHibernateTestDB;User Id=davesql;Password=qwert;</property> 
    <property name="show_sql">true</property>
    <property name="dialect">NHibernate.Dialect.MsSql2000Dialect</property>
    <property name="use_outer_join">true</property>
    <!-- mapping files-->
    <mapping resource="Zug.hbm.xml" assembly="SO_DAL" />
    </session-factory>
</hibernate-configuration>

hat jemand nen heißen tipp wo mein fehler liegt?