2013-01-17 125 views
1

我有一个grails应用程序,有一些域对象被序列化为JSON。在另一个java/groovy项目中,我想使用这些域对象。如果我发布插件,看起来只有其他grails应用程序可以使用插件。在grails应用程序和非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。

回答

0

复制数据模型将变得简单得多。

而服务的相互依赖程度意味着你在做错服务。

版本您的服务,并具有API。使用JSON来交流API,并且不要尝试任何古怪的方案来共享数据模型。如果您要共享数据模型,则可能只有一项服务,而不是两项。

0

我相信你将不得不采取手工关心所有休眠相关的构件。我在一个项目中做了类似的事情,我在这个项目中创建了一个Java对象域对象,并在Grails,桌面和Android项目之间共享它。它很乏味,但它工作。所有注释都必须手动完成。

相关问题