GORM数据服务VS Grails服务

GORM 6.1引入了数据服务的概念.我认为它们是在编译时检查的自动生成的持久性逻辑.我对以下内容感到困惑:

>它们与Grails Services有何不同(除了编译时间差异)?
>是否仍然可以在GORM数据服务中实现我的自定义业务逻辑,或者我是否需要维护两个服务,一个用于持久性(GORM),另一个用于(GRAILS)用于其他无持久性相关的业务逻辑(例如,创建外部REST)请求并采取行动).
>我注意到grails generate-all Domain为REST配置文件生成数据服务接口.这让我很困惑,我们是否可以在服务中使用非持久性相关的方法名称.

更新:我要问的是:gorm.grails.org/latest/hibernate/manual/#dataServices.我试图了解它们与此有何不同:docs.grails.org/latest/guide/services.html以及何时使用它们.

最佳答案

How are they different from Grails Services (aside from the compile
time difference)?

GORM Data Services是Grails服务.

Is it possible to still implement my custom business logic inside the
GORM Data Services or do I need to maintain two services, one for
persistence (GORM) and the other (GRAILS) for other none persistence
related business logic (e.g making an external REST request and acting
on the response).

您可以将业务逻辑放在您喜欢的任何服务中.通常,GORM数据服务中的逻辑应该与数据库交互相关,但这完全取决于您.如果您希望将100%的业务逻辑放在GORM数据服务实例中,尽​​管这没有意义. GORM数据服务是一项服务,您可以随意添加任何内容.

I noticed grails generate-all Domain generates a Data Service
interface for REST profile. This leaves me confused as to whether we
can have non persistence related method names in the service.

您可以在服务中使用非持久性相关的方法名称.您可以在服务中添加任何内容.

我将采用的方法是将GORM数据服务用于数据库相关代码,并将传统的Grails服务用于其他所有内容,并在适当的时候将1注入其中.

点赞