gpt4 book ai didi

grails - 不使用 domain.delete() 时 Grails 会级联删除吗?

转载 作者:行者123 更新时间:2023-12-04 20:22:53 24 4
gpt4 key购买 nike

来自 Grails 站点:http://www.grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html

class Airport {
String name
static hasMany = [flights:Flight]
}
class Flight {
String number
static belongsTo = [airport:Airport]
}

然后调用 delete()在 Airport 实例上将删除任何关联的 Flight 对象(因为它们属于机场)。如果我要使用 executeUpdate 删除机场我还能指望它删除航类吗?

谢谢

最佳答案

它不是。这是一个简单的例子:

 def a0 = new Airport(name: 'Dulles').save()
def f0 = new Flight(number: '1000', airport: a0).save()

assert 1 == Airport.count()
assert 1 == Flight.count()

Airport.executeUpdate("delete Airport a where a.name = 'Dulles'")

产量(缩写):
Caused by: java.sql.SQLException: Integrity constraint violation FKB4318470B2E8D1BA table: FLIGHT in statement [delete from airport where name='Dulles']
at org.hsqldb.jdbc.Util.throwError(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
... 27 more

有一个 Unresolved Hibernate 问题要求能够在查询 here 中指定级联.

这也备份在 Grails 邮件列表 here 上。 .

关于grails - 不使用 domain.delete() 时 Grails 会级联删除吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4452797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com