Mal wieder, Hibernate und Eclipse

splitshade

Mitglied
Hallo!

ich versuche gerade, Hibernate in meine RCP Applikation zu integrieren, wahrscheinlich hab ich einen Fehler in meiner Architektur.

Folgendes Szenario,

ich habe ein Plugin de.splitshade.contractclient,
dieses Plugin enthält das Model, also alle Domain-Klassen,
interessant für HIbernate ist hierbei die Klasse ContractImpl im package de.splitshade.contractclient.model.contract.impl.

Jetzt habe ich ein Plugin PersistanceSupport, welches die Hibernate-Anbindung liefern soll.
Da dieses Plugin möglichst generisch arbeiten soll, besteht hier keine Dependency zum Contract-Plugin, d.h. das PersistanceSupport-Plugin kennt die Domain-Objekte nicht.
Im Contract-Plugin habe ich ein DAO, welches eine SessionFactory für den Zugriff auf die DB hält.

Jetzt kann ich ja nicht eine deine bidirektionale dependency von contract -> persistance und persistance <- contract anlegen, und meine Contract-Klasse wird nicht gefunden.
Wie könnte man das realisieren?

Dankeschön!

Gruß

MArtin
 
Mit dem Buddy-Classloading funktioniert, wobei mir das auch nicht gefällt, naja, dafür hab ich nun diese Exception:
[...]
Caused by: org.hibernate.DuplicateMappingException: Duplicate class/entity mapping
de.splitshade.contracts.model.impl.Contract
at org.hibernate.cfg.Mappings.addClass(Mappings.java:118)
at org.hibernate.cfg.HbmBinder.bindRoot(HbmBinder.java:145)
at org.hibernate.cfg.Configuration.add(Configuration.java:669)
at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:504)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:566)

und ich habe weder die config-files 2x, noch wird eine Klasse 2x gemappt, gibts noch andere Ursachen für diese Exceptions

Mir scheint allgemeint, dass sich die Hibernate - Entwickler etwas aussagekräftigere Exceptiontraces ausdenken könnten, das sagt nicht so viel aus..

Danke euch!

Gruß

Martin
 
Das Problem war, dass insgesamt 2x die configure-Methode für die Configuration aufgerufen wurde, also hat Hibernate indirekt doch versucht, die gleiche Ressource 2x zu mappen.

Über HInweise zur Anbindung und Entwicklung eines möglichst generischen Hibernate-Plugins in die Eclipse-Architektur wäre ich weiterhin dankbar

Gruß

Martin
 
Zurück