[英]Sharing a grails app domain plugin among multiple grails application clients and sing subset of domain classes
[英]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域對象之類的東西(不確定注入的方法為findByX
, addToYs
等)。
請在grails中查看有關休眠的官方文檔: http : //grails.org/doc/latest/guide/hibernate.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.