Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Urutan hibernasi di Oracle, @GeneratedValue(strategy =GenerationType.AUTO)

Anotasi ini tidak membuat dua urutan, hanya satu. Apakah ini benar/diharapkan?

Itulah perilaku yang diharapkan. Saat menggunakan @GeneratedValue(strategy = GenerationType.AUTO) , penyedia JPA akan memilih strategi yang sesuai untuk database tertentu. Dalam kasus Oracle, ini akan menjadi SEQUENCE dan, karena Anda tidak menentukan apa pun, Hibernate akan menggunakan satu urutan global yang disebut hibernate_sequence .

Apakah ini benar? Yah, saya tidak tahu, itu tergantung pada kebutuhan Anda. Untuk jaga-jaga, nilai maksimum default untuk urutan Oracle adalah 1E+27, atau 1,000,000,000,000,000,000,000,000,000. Itu sudah cukup untuk banyak orang.

Sekarang, dimungkinkan untuk menggunakan GenerationType.AUTO dan masih mengontrol nama urutan ketika database menggunakan urutan:

@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="my_entity_seq_gen")
@SequenceGenerator(name="my_entity_seq_gen", sequenceName="MY_ENTITY_SEQ")
private Long id;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa yang harus dilakukan jika Anda mendapatkan kesalahan urutan bookmark yang salah saat menggunakan SQL Server dengan Driver ODBC Oracle kami?

  2. Nilai yang berbeda dihitung pada kolom yang sama

  3. REMAINDER() Fungsi di Oracle

  4. Bagaimana Cara Membuat Fungsi di PL/SQL?

  5. Bagaimana cara menyimpan data unicode ke oracle?