Hiho,
ich mal eine Designfrage bezgl. JPA und Eclipse RCP mir mehreren Fragmenten.
Ich habe
1. Eine Standalone RCP Anwendung als Plug-In Project
2. Ein weiteres Plug-In Project namens DB, welche alle libs zu Hibernate, die persistence.xml und die Erzeugung des EntityManagers usw. bereitstellt. Ausserdem musste ich hier auch die Entities von 1. mit rein nehmen, damit diese von persistence.xml gefunden werden. Das war auch an sich kein Problem, da 1. und 2. immer zusammen deployed werden.
3. Nun kommt der knifflige Teil.
Zu meiner Standalone RCP Anwendung gibt es x Fragmente, welche unter Umständen ebenfalls etwas über JPA persistieren müssen.
Nun kann ich ja die Entities der Fragmente nicht mit in das DB Plugin-Project aufnehmen. Weil dann müsste dieses für jedes neue Fragment neu deployed werden und es kann auch sein, dass gar nicht alle Fragmente am Ende auch zum Einsatz kommen (ausgeliefert werden).
Wie kann ich nun Entitäten der Fragmente mit in die DB aufnehmen? Es müsste irgendwie die Möglichkeit geben, dass ich zur Laufzeit dem EntitiyManager weitere Entity Klassen zuordnen kann, wie es schon in der persistence.xml mit
gemacht wird.
Es gibt aber folgende Probleme. Die Entity Klassen der Fragmente benötigen Bibliotheken, von denene das DB Plug-In Project nichts weiß. Ausserdem möchte ich die Fragment Entities nicht mit in die Core Anwendung (DB Plug-In) fest einbauen. Somit müssen die Fragment Entities auch im Fragment bleiben. Nun könnte ich ja einfach nur die persistence.xml des DB Plug-Ins anpassen mit
Dann steht aber erstens wieder etwas von einem Fragment innerhalb des DB Plug-Ins, welches zum Core der Anwendung gehört und zweitens - nicht ganz unwichtig - werden diese so angegeben Klassen gar nicht gefunden.
Wie kann ich also nun Entites von Fragmenten über die gleiche JPA Implementierung meiner Kernanwendung verwenden?
bye Saxony
ich mal eine Designfrage bezgl. JPA und Eclipse RCP mir mehreren Fragmenten.
Ich habe
1. Eine Standalone RCP Anwendung als Plug-In Project
2. Ein weiteres Plug-In Project namens DB, welche alle libs zu Hibernate, die persistence.xml und die Erzeugung des EntityManagers usw. bereitstellt. Ausserdem musste ich hier auch die Entities von 1. mit rein nehmen, damit diese von persistence.xml gefunden werden. Das war auch an sich kein Problem, da 1. und 2. immer zusammen deployed werden.
3. Nun kommt der knifflige Teil.
Zu meiner Standalone RCP Anwendung gibt es x Fragmente, welche unter Umständen ebenfalls etwas über JPA persistieren müssen.
Nun kann ich ja die Entities der Fragmente nicht mit in das DB Plugin-Project aufnehmen. Weil dann müsste dieses für jedes neue Fragment neu deployed werden und es kann auch sein, dass gar nicht alle Fragmente am Ende auch zum Einsatz kommen (ausgeliefert werden).
Wie kann ich nun Entitäten der Fragmente mit in die DB aufnehmen? Es müsste irgendwie die Möglichkeit geben, dass ich zur Laufzeit dem EntitiyManager weitere Entity Klassen zuordnen kann, wie es schon in der persistence.xml mit
Code:
<class>db.model.MyEntity</class>
gemacht wird.
Es gibt aber folgende Probleme. Die Entity Klassen der Fragmente benötigen Bibliotheken, von denene das DB Plug-In Project nichts weiß. Ausserdem möchte ich die Fragment Entities nicht mit in die Core Anwendung (DB Plug-In) fest einbauen. Somit müssen die Fragment Entities auch im Fragment bleiben. Nun könnte ich ja einfach nur die persistence.xml des DB Plug-Ins anpassen mit
Code:
<class>myFragment.model.MyEntity</class>
Dann steht aber erstens wieder etwas von einem Fragment innerhalb des DB Plug-Ins, welches zum Core der Anwendung gehört und zweitens - nicht ganz unwichtig - werden diese so angegeben Klassen gar nicht gefunden.
Wie kann ich also nun Entites von Fragmenten über die gleiche JPA Implementierung meiner Kernanwendung verwenden?
bye Saxony
Zuletzt bearbeitet: