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;