0

我从 mybatis 插件文档中引用:

“使用 MyBatis 插件时,您的“域”类应该位于 src/groovy 而不是 grails-app/domain。这是避免与 GROM 冲突的必要条件,因为 MyBatis 插件可以与现有的 GORM 域类共存。

那么当我想将 grails 与 MyBatis 插件一起使用时,验证和约束应该放在哪里?

4

1 回答 1

1

您可以向 Grails 中的任何 Groovy 类添加 @Validateable 注释,并且您将能够对其进行验证...插件目前不检查任何验证错误,因此您必须自己实现该代码。

来自官方 Grails 文档:

定义静态约束属性并使用 @Validateable 注释的类可以由框架验证

http://grails.org/doc/2.1.0/guide/validation.html#validationNonDomainAndCommandObjectClasses

你甚至可以编写一个自定义的 MyBatis 拦截器(参见https://github.com/fzilic/Grails-MyBatis/blob/master/src/groovy/org/grails/plugins/mybatis/locking/OptimisticLockingInterceptor.groovy)并在之后注册它SqlSession 已创建...

目前 MyBatis 插件不支持在其配置中注册自定义拦截器,但可以将它们添加到拦截器链中

def factory = GrailsApplication.mainContext.getBean("sqlSessionFactoryBean_dataSource") 

factory.configuration.interceptorChain.addInterceptor(Interceptor)

将来的版本中可能会添加对此的支持。

于 2013-07-08T16:49:21.930 回答