2012-05-31 4 views
2

У меня есть домен, как
Как удалить java.sql.BatchUpdateException в 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

ответ

0

Попробуйте ввести

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

непосредственно в вашу базу данных (в консоли или pgAdmin) и проверьте исключение.

Также обратите внимание, что вы устанавливаете уникальные ограничения на имя и значки - проверьте их в сохраненной записи.

0

заверните сохранение (строка 24) в try/catch и дайте соответствующую обратную связь на уровне представления

Смежные вопросы