Grails - Verwenden Sie Java-Domänenklassen, um mit GORM Grails-Domänenklassen zu erstellen

Es wurden einige Teilantworten auf das folgende Szenario gefunden, die jedoch weiterer Klärung bedürfen.

Habe folgende Situation:

Domain-Klassen in Java geschriebenDie Domänenklassen werden nicht über den Ruhezustand einer Datenbank zugeordnetDie Java-Klassen werden von einem Java-Server verwendet, der einfach intensive Berechnungen durchführt, bevor das Ergebnis als serialisierte Java-Klasse an den Client zurückgegeben wird

Was ich gerne machen würde:

Erstellen Sie eine Grails-Anwendung, die folgende Aufgaben ausführen kann:

Verwenden Sie die Java-Domänenklassen als Grails-DomänenklassenLassen Sie die Java-Domänenklassen von GORM DB zuordnenin der Lage sein, die Java-Domänenklasse aus der Groovy-Domänenklasse zu erstellen, um sie zur Verarbeitung an den Java-Server zu senden, die Java-Klassenantwort zu empfangen und sie in eine Groovy-Klasse umzuwandeln, um sie in der Datenbank mit GORM-Zuordnung zu speichernGrundsätzlich muss eine grails-Anwendung die Benutzerinteraktion handhaben und die Objektpersistenz für den externen Java-Server verwalten, der die Java-Klassen verarbeitet

Aus dem folgenden Beitrag (Java-Beans als Grails-Domänenklassen verwenden) Ich sehe, dass die Java-Domänenklassen in Grails verwendet werden können, indem einfach Einschränkungen definiert werden. Dies ist jedoch der Fall, wenn die Klassen im Ruhezustand zugeordnet sind. In meinem Fall möchte ich, dass die Klassen von GORM abgebildet werden.

Lösung:

Ich dachte darüber nach, ein äquivalentes Groovy-Domain-Modell für das Java-Domain-Modell zu schreiben. Dies scheint jedoch viel Arbeit zu bedeuten, und Änderungen an der Java-Klasse müssen in den Groovy-Klassen repliziert werden.dann müsste ich eine Funktion schreiben, um die Java-Klasse aus der Groovy-Klasse zu erstellen, um die Java-Klasse an den Java-Verarbeitungsserver zu übergeben und umgekehrt.

Alle Vorschläge zur Implementierung des obigen Szenarios sind willkommen.

Vielen Dank.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage