我在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:
我也听说过网上的日记,但不确定。我不知道如何解决这个问题。请帮忙!
答案 0 :(得分:1)
使用DB2作为数据库时,必须在事务中的任何更新或插入之前记录表。如果您尝试在事务中创建它并且它没有被记录,它会显示代码SQL7008。
Hibernate有一个默认的autocommit属性,如果你把它设置为true就行是假的,但是不建议这样做,因为你无法控制事务并且只有在一切正常的情况下才能提交。
<property name="hibernate.connection.autocommit" value="true"/>
(不推荐)
因此,您的想法是在数据库中修复它并将表设置为journalled。