1
UPDATE trans_actual SET comment_id = ? 
WHERE id = (SELECT MAX(id) 
            FROM trans_actual 
            WHERE plan_id = ?) 

org.springframework.jdbc.BadSqlGrammarException:PreparedStatementCallback; 不正なSQL文法SQLException:ORA-02049:タイムアウト:分散トランザクションがロックを待機しています

SQLDeveleloperで正常に動作します。

4

1 に答える 1

2

クエリは正常に見えます。トランザクションロックの問題のようです。この種の問題では、コード全体をここに投稿できないため、ロックがどこにあるかを判断できるのはあなただけです。

また、同じデータベースにアクセスする他のアプリがある場合もあります。トランザクション分離レベル、同時実行性、9ヤード全体をチェックする必要があります。

ORA-02049を検索しましたか?それはあなたにいくつかのヒントを与えるはずです。

于 2011-06-14T16:22:03.277 に答える