sql >> Database >  >> RDS >> Oracle

Hibernate slaat verouderde gegevens op met hibernate.jdbc.batch_versioned_data

Het orakelstuurprogramma moet de juiste rijtellingen retourneren. Het zal me verbazen als dit niet het geval is. Hebt u kunnen bevestigen dat de resultaten van het stuurprogramma correct zijn? U kunt logboekregistratie in de slaapstand inschakelen om dit te controleren.

Een paar dingen om te controleren:

  1. Registreer de daadwerkelijke SQL die naar de DB wordt verzonden en controleer of de versiekolom wordt vermeld in de waar-clausule. Ik weet niet zeker of de SQL's worden gelogd door Hibernate-logboekregistratie met batching ingeschakeld, misschien moet u een andere manier gebruiken om de SQL's te loggen dan (bijv. p6spy)

  2. Als het aantal rijen correct wordt geretourneerd tijdens gelijktijdige updates, werkt de toepassing prima. Bevestig dit door te controleren of de waarden van de versiekolom zijn bijgewerkt, gecorrigeerd.

Bijwerken Volgens de volgende link was dit probleem aanwezig met het Oracle-stuurprogramma tot 11g en opgelost in versie 12c

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

Voor eerdere Oracle-versies is er aanvullende informatie die nuttig zou moeten zijn, d.w.z. er wordt een aangepaste oplossing geboden.

Aanvullende bronnen:https://hibernate.atlassian.net/browse/HHH-5070




  1. PDO kan geen externe mysql-server verbinden

  2. meerdere waarden lezen uit een blob-veld PL/SQL

  3. PYTHON:MEERDERE KOLOMMEN bijwerken met python-variabelen

  4. Een Alias-kolom gebruiken in de waar-clausule in Postgresql