Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Hibernacja sekwencji nextVal rozwiązana, ale nie użyta (Oracle)

Jak wspomniałem w mojej trzeciej aktualizacji, JPA „pobierało 50 identyfikatorów” z sekwencji na początku i przeliczało je w pamięci pod kątem wydajności.

To zachowanie jest określone przez javax.persistence.SequenceGenerator.allocationSize która domyślnie wynosi 50.

To wcale nie jest dla mnie intuicyjne, lub inne , ponieważ moja sekwencja bazy danych Oracle ma definiować to zachowanie, a 50 nie jest tam standardową wartością domyślną.

Szybkim i brudnym rozwiązaniem było określenie allocationSize=1 :

@SequenceGenerator(name = "generator", sequenceName = "MY_SEQ",
                   allocationSize = 1)

Teraz sekwencja Oracle jest zwiększana dla każdego wstawienia.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jakie miejsce zajmuje Oracle ADF 11g wśród platform Java EE?

  2. Oracle SQL CASE WHEN ORA-00932:niespójne typy danych:oczekiwany CHAR otrzymał NUMBER 00932. 00000 - niespójne typy danych:oczekiwany %s otrzymał %s

  3. konwersja oracle do_daty pokazująca literał nie pasuje do formatu ciągu

  4. JDBC:Oracle Application Server i karta sieciowa nie mogły nawiązać błędu połączenia

  5. wybierz dynamiczną wartość kolumny ze zmiennej rowtype w pl sql