OSGi-Fragment-Bundle mit Hibernate mit Laufzeit-Pojos

Meine Anforderung ist es, verschiedene Datenbanken (insbesondere SQL Server, MySQl und Postgres) im Ruhezustand abzubilden. aus db record eine xml datei erstellen.

Für den Ruhezustand erstelle ich zur Laufzeit mit JAssist hbm-Dateien und Pojos. Mein Code funktioniert hervorragend, für die weitere Modularisierung implementiere ich Fragment-Bundles für jede Datenbank, sodass mein Host-Bundle die Erstellung von Laufzeitklassen und das Hinzufügen zu Classloader, HBM-Dateierstellungslogik und BL übernimmt. Fragment ruft es durch Übergabe von Parametern auf.

Wenn ich ein Fragment-Bundle für jede Datenbank erstelle, ist die in meinem Host-Bundle erstellte Laufzeit-Pojo-Klasse in meinem Fragment-Bundle sichtbar. Ich habe dies mit "Thread.currentThread (). getContextClassLoader (). loadClass ()" überprüft und kann seine Instanz erstellen ,

Das Problem ist, wenn ich Hibernate-Funktionen aus dem Fragment-Bundle aufrufe, bekomme ich "Entität nicht zugeordnet", AFAIK Diese Ausnahme tritt auf, wenn Hibernate die Zuordnungsklasse mit Tabelle nicht finden kann. Ich denke, Hibernate findet meine Laufzeit-Pojo-Klassen nicht. was es in host finden kann.

Host: Laufzeit-Pojo-Erstellung, HBM- und CFG-Erstellungs- und Aktualisierungslogik BL

Fragment: Ruhezustandsebene, Ruhezustand aufrufen, XML-Erstellungslogik

Antworten auf die Frage(3)

Ihre Antwort auf die Frage