我有一行这样的代码:
final Foo foo = (Foo)session.get( Foo.class, id, LockMode.UPGRADE );
这会产生一个SELECT .. FOR UPDATE。
SELECT .. FOR UPDATE
但是,我只愿意等待10秒钟来获得锁,并且在那里我想要一个SELECT .. FOR UPDATE WAIT 10。我怎样才能进入hibernate状态呢?
SELECT .. FOR UPDATE WAIT 10
答案是将LockOptions类与SetTimeout()LockMode 一起使用。
LockOptions
SetTimeout()
为此,我们升级到Hibernate 3.6只是发现它对于Oracle来说是坏的。