Grails / Hibernate:不存在具有给定标识符的行

时间:2013-10-04 17:42:56

标签: java hibernate grails gorm grails-domain-class

我有一个域名如下:

class Author {
    String id
    static hasMany = [accounts: Account]
    static belongsTo = Account
    static mapping = {
        accounts joinTable: [name: "SOMETABLE", key: 'SOMEFIELD'], 
                 ignoreNotFound: true
    }
    static constraints = {}
}

找不到记录时出现以下错误。我尝试了ignoreNotFound,它无法正常工作。

error message: accounts=org.hibernate.ObjectNotFoundException: 
No row with the given identifier exists: 
[com.myapplication.Account#123465489785]

尝试选择您无权访问数据库中的连接2记录时会发生这种情况。 请问有解决方法吗?

2 个答案:

答案 0 :(得分:2)

这意味着您的Account表格中没有代码为123465489785的行。您的作者的帐户ID为123465489785.Hibernate无法找到它,因此会引发异常。如果它的新帐户使帐户上的id为null,那么hibernate知道它的新行。

答案 1 :(得分:2)

添加ignoreNotFound = true映射可根据Grails documentation解决问题。