Oracle
 sql >> база данни >  >> RDS >> Oracle

Hibernate запазва остарелите данни с hibernate.jdbc.batch_versioned_data

Драйверът на Oracle трябва да върне правилния брой редове. Ще се изненадам, ако това не е така. Успяхте ли да потвърдите, че резултатите от драйвера са правилни? Можете да включите регистрирането на хибернация, за да проверите това.

Няколко неща, които трябва да проверите:

  1. Регистрирайте действителния SQL, който се изпраща към DB, и проверете дали колоната за версия е спомената в клаузата where. Не сте сигурни дали SQL-ите се регистрират от Hibernate logging с включено групиране, тогава може да се наложи да прибегнете до различен начин за регистриране на SQL-овете (напр. p6spy)

  2. Ако броят на редовете се връща правилно по време на едновременни актуализации, тогава приложението работи добре. Потвърдете това, като проверите дали стойностите на колоната за версия са актуализирани коригирани.

Актуализация Според следната връзка този проблем е присъствал в драйвера на Oracle до 11g и е коригиран във версия 12c

https://hibernate.atlassian.net/browse/HHH-3360

За предишни версии на Oracle има допълнителна информация, която би трябвало да е полезна, т.е. предоставено е персонализирано решение.

Допълнителни ресурси:https://hibernate.atlassian.net/browse/HHH-5070




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Възможно ли е да се генерират django модели от базата данни?

  2. System.InvalidCastException:Обектът не може да бъде преобразуван от DBNull към други типове

  3. Използване на Java за свързване към база данни на Oracle

  4. Проверете дали таблицата съществува или не, преди да я създадете в Oracle

  5. Как да създадете PL/SQL съхранени процедури без параметри в базата данни на Oracle