Hazırda bekletme nesnesini otomatik olarak güncelleştirmekten hazırda bekletmeyi durdurmak mümkün mü?Hazırda bekletme modundayken otomatik güncelleştirmeyi devre dışı bırakma/JPA
@Transactional
public ResultTO updateRecord(RequestTO requestTO) {
Entity entity = dao.getEntityById(requestTO.getId());
// now update the entity based on the data in the requestTO
ValidationResult validationResult = runValidation(entity);
if(validationResult.hasErrors()) {
// return ResultTO with validation errors
} else {
dao.persist(entity);
}
}
Burada kodda böyle olur, ben, kalıcı halde olması sonra varlık içinde bazı alanları güncelleştirmek için hazırda tarafından kabul edilecek varlık almak, sonra da doğrulama için varlık geçmektedir. Doğrulama başarısız olursa, doğrulama başarılı olursa öğeyi devam ettirirseniz, udpate etmeyin.
Bu akışla ilgili temel sorun şu şekildedir: doğrulama için kullanılacak öğeyi güncellediğimden, persist() yöntemini (DAO'da) aramamın önemli değil, kayıt her zaman Hazırda bekletme, hazırda bekletme öğesinin değiştirildiğini algıladığından ve güncelleştirmeyi işaretlediği için güncelleştirilmelidir.
Aklımda tuttuğum yolu değiştirebilirim ve bu sorunu çözmek için çalışıyorum, bu yüzden geçici çözümlerle ilgilenmiyorum. Kalıcı nesneleri otomatik olarak güncelleyen hazırda bekletme özelliğini nasıl devre dışı bırakabileceğimi bilmek isterim.
Lütfen unutmayın, hazırda bekletmenin JPA uygulamasını kullanıyorum. Hazırda bekletme özel API ile ilgili hazır cevaplar benim için çalışmaz.
Hazırda bekletme yapılandırması aramayı denedim ve bu davranışı durdurmak için herhangi bir yapılandırma ayarlayabilir miyim, ancak şans yok.
Teşekkür
--edit --- Bunun için bir çözüm bulamadık, bu yüzden kullanarak bildirge işlemde olmama rağmen herhangi RuntimeException atma olmadan hareketi geri seçti:
TransactionInterceptor.currentTransactionStatus() setRollbackOnly(); Bir çekicilik gibi çalışan
.
sayesinde, ama im bir çözüm aramıyor söylediği gibi, ben zaten, im oto güncellenmesi devre dışı bı ki belirli bir yapılandırma için arayan o var. – lutfijd