以前有人处理过这个错误吗?(org.hibernate.action.internal.EntityActionVetoException:EntityInsertAction被否决)
我想在将excel文件数据推入数据库之前将其保存到会话中,因此我尝试将其保存到会话中,但它始终显示以下错误org.hibernate.action.internal.EntityActionVetoException:EntityInsertAction被否决以前有人处理过这个错误吗?(org.hibernate.action.internal.EntityActionVetoException:EntityInsertAction被否决),hibernate,grails,Hibernate,Grails,我想在将excel文件数据推入数据库之前将其保存到会话中,因此我尝试将其保存到会话中,但它始终显示以下错误org.hibernate.action.internal.EntityActionVetoException:EntityInsertAction被否决 values.each { println("") println(it) println("abctesti
values.each {
println("")
println(it)
println("abctesting")
// println("values -> " + it)
def newObjectInstance = objectInstance.propertyMapping(it)
println("abctesting")
newObjectInstance.each{ obj ->
println(obj.colorName)
println(obj.price)
println(obj.totalVolume)
}
if (newObjectInstance != null) {
//why cannot save into session??????
session.save(newObjectInstance)
}
else {
System.err.println("Data Import: I am NULL. Processing object -> ${newObjectInstance}")
}
println("abctesting")
if (counter % 1000 == 0) {
println("Counter -> " + counter)
println("Flush and Clear Session")
//clear session and save records after every 100 records
session.flush();
session.clear();
}
if (counter % 10000 == 0) {
println("Process -> " + counter)
}
counter++
}
//Commit and close Session
tx.commit();
session.close();
LocalTime endTime = LocalTime.now()
println("Start Time -> ${startTime}")
println("End Time -> ${endTime}")
println("Duration (sec) -> ${Duration.between(startTime, endTime).toMillis() / 1000}")
println("Done Processing -> ${className}")
我在session.save(newObjectInstance)上找到了导致此错误的行。在注释掉这一行之后,这段代码就开始工作了。但这不是方法,因为它没有保存到会话和数据库中