CannotSerializeTransactionException および は、 で非推奨となりました。 DeadlockLoserDataAccessException Spring 6.0.3

このルールは、 Spring の非推奨のロック関連例外を使用する Java コードにフラグを立てる CannotSerializeTransactionException および DeadlockLoserDataAccessException.

Spring Framework 6.0.3 の時点で、これらの例外は、 JDBC ドライバ間でセマンティクスが一貫していないため、非推奨となっている。 デベロッパーは、以下を使用することをお勧めします CannotAcquireLockException 代わりに、悲観的なロックとトランザクション分離の失敗を扱う統一されたフレームワーク一貫性のある方法を提供する。

次の例は、フラグが立てられる無効な使用法を示している:


import org.springframework.dao.CannotSerializeTransactionException;
import org.springframework.dao.DeadlockLoserDataAccessException;
public class InvalidLockingUsage {
    public void simulateCannotSerialize() {
    	throw new CannotSerializeTransactionException("Simulated serialization failure");
    }
    public void simulateDeadlock() {
    	throw new DeadlockLoserDataAccessException("Simulated deadlock");
    }
}

次の例は、移行された有効な使用法を示している:


import org.springframework.dao.CannotAcquireLockException;
public class ValidLockingUsage {
    public void method() {
    	throw new CannotAcquireLockException("Simulated issue");
    }
}

詳しくは、以下のリソースを参照してください。