簡體   English   中英

在grails應用程序和non grails應用程序之間共享域對象

[英]Sharing domain objects between a grails application and a non grails application

我有一個grails應用程序,其中包含一些域對象,這些對象被序列化為JSON。 在另一個java / groovy項目中,我想使用這些域對象。 如果我發布插件,則看起來只有其他grails應用程序可以使用該插件。

我試圖用域類和它們的數據創建一個原始的常規項目,在我的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。

我相信您必須手動照顧所有與休眠有關的工件。 我在一個創建域對象的Java庫並在Grails,桌面項目和Android項目之間共享的項目上做了類似的事情。 它很乏味,但是有效。 但是,所有注釋都必須手動完成。

復制數據模型將更加簡單。

服務相互依賴程度意味着您做錯了服務。

版本化您的服務,並具有API。 使用JSON來交流API,不要嘗試任何古怪的方案來共享數據模型。 如果要共享數據模型,則可能只有一項服務,而不是兩項。

您可以在Grails中設置自己的休眠配置。

因此,您可以將POGO用作grails域對象之類的東西(不確定注入的方法為findByXaddToYs等)。

請在grails中查看有關休眠的官方文檔: http : //grails.org/doc/latest/guide/hibernate.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM