Hibernate和DB2-在插入或删除表时发出ERROR:util.JDBCExceptionReporter

时间:2015-01-22 21:18:36

标签: java hibernate db2

我在DAO中的插入代码:

public void add(){
Books a=new Books();
a.setId("213");
a.setName("The DaVinci Code");
a.setAuthor("Dan Brown");
getSession().save(a);
}

我正在尝试从数据库DB2中插入或删除记录。但它给了我以下错误:

ERROR util.JDBCExceptionReporter  - [SQL7008] (TABLE name) not valid for operation.
ERROR def.AbstractFlushingEventListener  - Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: could not insert: 

我也听说过网上的日记,但不确定。我不知道如何解决这个问题。请帮忙!

1 个答案:

答案 0 :(得分:1)

使用DB2作为数据库时,必须在事务中的任何更新或插入之前记录表。如果您尝试在事务中创建它并且它没有被记录,它会显示代码SQL7008。

Hibernate有一个默认的autocommit属性,如果你把它设置为true就行是假的,但是不建议这样做,因为你无法控制事务并且只有在一切正常的情况下才能提交。

<property name="hibernate.connection.autocommit" value="true"/>(不推荐)

因此,您的想法是在数据库中修复它并将表设置为journalled。