0

全て。

JPAを使用してAzure sql DBに接続するプログラムを作成しました。コード内で、クエリのタイムアウトを次のように設定しました。

Map<String,Object> map = new HashMap<String, Object>();
map.put("javax.persistence.lock.timeout", 0);
return this.getEntityManager().find( cls, id,  LockModeType.PESSIMISTIC_WRITE,map);

クエリが行の下のロックを取得できない場合に備えて、すぐに null を返すことを願っています。しかし、それは機能しませんでした。常にそこでブロックされていました。

それは何か間違っていますか?または、sqlserver ドライバーがタイムアウトをサポートしていませんでしたか?

どうもありがとう。

4

1 に答える 1

0

おそらくサポートされていませんが、生成されたSQLを含めると、これが確認できます。

クエリのタイムアウトを設定することもできます。

"eclipselink.jdbc.timeout"="100"

または、EclipseLink を使用している場合は、

"eclipselink.pessimistic-lock"="LockNoWait"
于 2013-06-10T14:25:19.640 に答える