我从mybatis文档中引用如下:
当使用MyBatis插件时,您的“域”类应该位于src/groovy中,而不是grails-app/域中。这对于避免与MyBatis插件冲突是必要的,因为MyBatis插件可以与现有的GORM域类共存。
那么,当我想在MyBatis插件中使用grails时,验证和约束应该定位在哪里呢?
发布于 2013-07-08 16:49:21
您可以向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)对此的支持可能会在以后的版本中添加。
https://stackoverflow.com/questions/14010370
复制相似问题