Intellij idea 带有@GrailsCompileStatic注释的Grails GORM类在静态映射闭包表、版本、autoTimestamp中显示为未解析符号
参考资料:Intellij idea 带有@GrailsCompileStatic注释的Grails GORM类在静态映射闭包表、版本、autoTimestamp中显示为未解析符号,intellij-idea,grails,grails-domain-class,Intellij Idea,Grails,Grails Domain Class,参考资料: package de.equeo.requestcode 导入grails.compiler.GrailsCompileStatic @颗粒状的 类特征{ 字符串名 静态映射={ 表“rq_功能” 版本错误 自动时间戳错误 } } 这只会导致IDE中出现错误(在grails run app或编译时可以正常工作): 我以前从未花过太多时间来解决这个问题,但现在我有了一个解决办法 第一个解决方法(推荐) 正如@JamesKleeh所回答的,您甚至不需要为类型安全DSL定义上述方法:
package de.equeo.requestcode
导入grails.compiler.GrailsCompileStatic
@颗粒状的
类特征{
字符串名
静态映射={
表“rq_功能”
版本错误
自动时间戳错误
}
}
这只会导致IDE中出现错误(在grails run app
或编译时可以正常工作):
我以前从未花过太多时间来解决这个问题,但现在我有了一个解决办法 第一个解决方法(推荐) 正如@JamesKleeh所回答的,您甚至不需要为类型安全DSL定义上述方法:
package com.wizpanda.hooman
导入grails.compiler.GrailsCompileStatic
导入静态grails.gorm.hibernate.mapping.MappingBuilder.orm
@颗粒状的
类用户{
字符串名
字符串姓氏
线状生物
字符串电子邮件
静态最终映射=orm{
表“rq_特征”
版本错误
自动时间戳错误
属性(“bio”,[类型:“文本”])
属性(“名字”{
列([名称:“fn”])
})
}
}
第二个解决方法
我使用了自己的逻辑,创建了一个静态方法
applyFooMapping
,它使用@DelegatesTo
注释来愚弄IDE我以前从未花太多时间来找出解决方法,但现在我有了一个解决方法
第一个解决方法(推荐)
正如@JamesKleeh所回答的,您甚至不需要为类型安全DSL定义上述方法:
package com.wizpanda.hooman
导入grails.compiler.GrailsCompileStatic
导入静态grails.gorm.hibernate.mapping.MappingBuilder.orm
@颗粒状的
类用户{
字符串名
字符串姓氏
线状生物
字符串电子邮件
静态最终映射=orm{
表“rq_特征”
版本错误
自动时间戳错误
属性(“bio”,[类型:“文本”])
属性(“名字”{
列([名称:“fn”])
})
}
}
第二个解决方法
我使用了我自己的逻辑,并创建了一个静态方法
applyFooMapping
,它使用@DelegatesTo
注释愚弄IDE,而不是使用GORM 6.1中添加的内置类型安全dsl
import static grails.gorm.hibernate.mapping.MappingBuilder.*
class Book {
String title
static final mapping = orm {
您可以使用GORM 6.1中添加的内置类型安全dsl,而不是这样做
import static grails.gorm.hibernate.mapping.MappingBuilder.*
class Book {
String title
static final mapping = orm {
哦这太棒了。我知道圣杯里一定有什么东西,而你却出现了。非常感谢。新的映射生成器看起来真的很酷。我知道Grails团队已经忙得不可开交了,但是如果在文档中有一些额外的例子和/或在google上搜索时出现的一篇简短的博客文章,这将真正有助于Grails被采纳。哦!这太棒了。我知道圣杯里一定有什么东西,而你却出现了。非常感谢。新的映射生成器看起来真的很酷。我知道Grails团队已经忙得不可开交了,但如果在文档中有一些额外的例子和/或在google上搜索时出现的一篇简短的博客文章,这将真正有助于Grails被采用我开始进行这些Hibernate更改:
Hibernate:alter table contact add column owner bytea not null
Hibernate:alter table question add column owner bytea not null这对我来说是一个很大的倒退。我的代码是这样的。我尝试了您的解决方法,但在我的例子中,使用IntelliJ 2019.1.3,@GrailsCompileStatic的存在会触发这些错误。当我注释注释注释时,建议的解决方案不起作用。当我尝试“第三个解决方案(推荐)”时我开始进行这些Hibernate更改:Hibernate:alter table contact add column owner bytea not null
Hibernate:alter table question add column owner bytea not null这对我来说是一个很大的倒退。我的代码是这样的。我尝试了您的解决方法,但在我的例子中,使用IntelliJ 2019.1.3,@GrailsCompileStatic的存在会触发这些错误。当我注释注释注释时,建议的解决方法不起作用。