使用Hibernate

当我运行HSQLDB(1.8.0.7)在MEM模式使用Hibernate(4.2.3.Final)查询 我得到下面的异常使用Hibernate

java.sql.SQLException: Unexpected token: FOR in statement [SELECT * 

FROM MYTABLE where ID=? FOR UPDATE NOWAIT] at

org.hsqldb.jdbc.Util.throwError(Unknown Source) at

org.hsqldb.jdbc.jdbcPreparedStatement.<init>(Unknown Source) at

org.hsqldb.jdbc.jdbcConnection.prepareStatement(Unknown Source) at

...

确实HSQLDB支持SELECT FOR UPDATE在HSQLDB从更新中选择?

回答:

在2.3状态的文档的updatability部分,它以某种方式支持:

如果SQL预选赛中,FOR UPDATE这样的,那么所有的结果集的可更新 列将成为更新。

但我一直没能在1.8的文档中找到它。我发现一些网站,如this,说1.8版不支持SELECT FOR UPDATE。

没有并发迁移的支持(做迁飞集群安全)与 HSQL 1.8,因为这个版本不支持物业SELECT ... FOR UPDATE 锁定

回答:

SELECT FOR UPDATE固定在HSQLDB 2.3 0.3。

然而,NOWAIT将被固定,如注释HSQLDB 2.3.3 NOWAIT

以上是 使用Hibernate 的全部内容, 来源链接: utcz.com/qa/266306.html

回到顶部