Я использую oracle11g в качестве базы данных и пытаюсь сделать вставки в таблицу globalusers из моего класса обслуживания grails.Я получаю источник данных в сервисе grails следующим образом:
import org.codehaus.groovy.grails.commons.ApplicationHolder as AH
class UserImportService {
def dataSource = AH.application.mainContext.dataSource
def sql = new Sql(dataSource) ;
String insertQuery="insert into GLOBALUSERS (..) values (..)
try{
sql.execute(insertQuery)
}
catch(Exception e){
println "Failed to insert : " +insertQuery
println "Exception is:" + e;
}
}
Когда я запускаю службу из внешнего интерфейса, я получаю исключение sql, говорящее
Exception is:java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("GRA"."GLOBALUSERS"."ID")
, так как я использую источник данных с моимпользовательский диалект, который обрабатывает генерацию идентификаторов и автоинкремент, это должно обрабатываться grail / hibernate.
При использовании одного и того же источника данных из другого пользовательского интерфейса .. один за другим .. он работает .. так что диалект работает нормально.но этот сервис для пакетных обновлений не работает.