1

JSONとしてシリアル化されるいくつかのドメインオブジェクトを備えたgrailsアプリケーションがあります。別のjava/groovyプロジェクトでは、これらのドメインオブジェクトを使用したいと思います。プラグインを公開すると、他のgrailsアプリケーションのみがプラグインを使用できるように見えます。

ドメインクラスとそのデータを使用して生のGroovyプロジェクトを作成しようとしましたが、grailsアプリには次のようなスタブがあります。

class Fact extends com.domain.Fact {}

しかし、アプリを実行しようとすると、これらが表示されます

Caused by MappingException: Missing type or column for column[facts_fact] on domain[DeclarationDefinition] referencing[com.domain.Fact]
->> 303 | innerRun in java.util.concurrent.FutureTask$Sync

私がやっていることは可能ですか、それとももっと良い方法がありますか?

結局のところ、POGOをgrailsドメインオブジェクトとして再利用したり、grailsドメインオブジェクトをPOGOとしてエクスポートしたりできるようにしたいと考えています。

4

3 に答える 3

0

休止状態に関連するすべてのアーティファクトを手動で処理する必要があると思います。ドメインオブジェクトのJavalibを作成し、Grails、デスクトップ、Androidプロジェクト間で共有したプロジェクトで、同様のことを行いました。面倒になりましたが、うまくいきました。ただし、すべての注釈は手動で行う必要がありました。

于 2013-01-17T22:29:28.477 に答える
0

データモデルの複製ははるかに簡単になります。

そして、そのレベルのサービスの相互依存性は、サービスを間違って実行していることを意味します。

サービスをバージョン管理し、APIを用意します。JSONを使用してAPIと通信し、データモデルを共有するための奇抜なスキームを試さないでください。データモデルを共有している場合、おそらく2つではなく1つのサービスがあります。

于 2014-11-28T14:01:19.070 に答える
-1

Grailsで独自のHibernate構成を設定できます。

したがって、POGOをgrailsドメインオブジェクトのようなものとして再利用できます(、、などの注入されたメソッドについてはわかりませんfindByXaddToYs

grailsでのHibernateに関する公式ドキュメントを参照してください:http://grails.org/doc/latest/guide/hibernate.html

于 2013-01-17T22:20:53.497 に答える