2015-06-23 40 views
6

Yaylı veri deposunda T findOne(Predicate p); kilitleme olmaksızın, ancak kilitleme @Lock(LockModeType.PESSIMISTIC_WRITE) T findOne(Predicate p); ile birlikte iki yöntem olabilir mi?Yay verileri ve kilitleme

Java Aynı prototip ile iki işlevi tanımlamak için izin vermez

olası değildir

public interface TransactionRepository extends JpaRepository<Transaction, String>, 
    QueryDslPredicateExecutor<Transaction> { 

    @Lock(LockModeType.PESSIMISTIC_WRITE) 
    @AliasFor("findOne") 
    Transaction findOne_withLock(Predicate p); 
} 

cevap

0

Hayır böyle bir şey, olsa. Bunun yerine, bazı çevre değişkeni

public interface TransactionRepository extends JpaRepository<Transaction, String>, 
      QueryDslPredicateExecutor<Transaction> { 

     @Lock(LockModeType.PESSIMISTIC_WRITE) 
     Transaction findOne_withLock(Predicate p); 

     default Transaction findOne(Predicate p) { 
      if (EvironmentCheck) { 
       return findOne_withLock(p); 
      } 
      return findOne(p); 
     } 
    } 
'a bağlı olarak işlevleri çağıran bir seçici olabilir.
İlgili konular