如何在Grails中删除java.sql.BatchUpdateException?

时间:2012-05-31 16:27:40

标签: java grails

我有像

这样的域名
class BusinessOrganization {

    static hasMany = [organizationBusinessTypes:OrganizationBusinessType]

    String name
    String icon

    static constraints = {
        name(blank:false,unique:true)
        icon(unique:true)
    }

    String toString() {
        return "${name}"
    }

}

保存第一次保存数据时没有错误。但是当我第二次尝试保存时,我收到了这个错误:

Class java.sql.BatchUpdateException Message
Batch entry 0 insert into business_organization (version, icon, name, id) values ('0', '', '', '2') was aborted. Call getNextException to see the cause.


 它说:

def save() {
23:        def businessOrganizationInstance = new BusinessOrganization(params)
24:        if (!businessOrganizationInstance.save(flush: true)) {
25:            render(view: "create", model: [businessOrganizationInstance: businessOrganizationInstance])
26:            return
27:        }

第24行出错。我无法弄清楚我做错了什么。在其他领域,这工作正常。请有人帮忙。我是Grails的新手,现在已经被困在这里了。我正在使用PostGreSQL

2 个答案:

答案 0 :(得分:0)

尝试输入

insert into business_organization (version, icon, name, id) values ('0', '', '', '2')

直接进入您的数据库(在控制台或pgAdmin中)并检查异常。

另请注意,您对名称和图标值设置了唯一约束 - 请检查已保存条目中的那些。

答案 1 :(得分:0)

将保存(第24行)包装在try / catch中,并向视图层提供适当的反馈