【发布时间】:2020-02-28 13:40:14
【问题描述】:
在此处使用 Grails 2.5.6。我试图在 beforeDelete GORM 事件中从我的域类中访问一组字符串。我什至在 beforeDelete 中到达我的断点之前,就在数据库日志中看到了对这个集合的删除。
我在域类中的 println(strings) 上收到 NullPointerException。
我的测试域类看起来像
class DeleteTest {
Integer id
Set<String> stringSet
String prop1
String prop2
static hasMany = [stringSet: String]
static constraints = {
prop1(maxSize: 20)
prop2(maxSize: 20)
}
static mapping = {
stringSet(joinTable: [column: 'delete_test_string_set', length: 15])
}
def beforeDelete() {
withNewSession {
Set<String> strings = this."stringSet"
println(strings)
}
}
}
我已经做了一个这样的测试控制器。
class DeleteTestController {
def create() {
DeleteTest test = null
DeleteTest.withTransaction {
test = new DeleteTest(
prop1: 'Test',
prop2: 'another test',
stringSet: ['str1', 'str2', 'str3']
).save()
}
render (test as JSON)
}
def delete() {
DeleteTest test = DeleteTest.findByProp1('Test')
DeleteTest.withTransaction {
test.delete()
}
render(test as JSON)
}
}
如何在 beforeDelete 事件中获取我的 stringSet?
【问题讨论】:
-
“我的 println(strings) 上出现 NullPointerException” - 你是说如果
strings是null则println(strings)正在抛出NullPointerException?
标签: grails groovy grails-orm