Essas anotações não estão criando duas sequências, apenas uma. Isso é correto/esperado?
Esse é o comportamento esperado. Ao usar
@GeneratedValue(strategy = GenerationType.AUTO)
, o provedor JPA escolherá uma estratégia apropriada para o banco de dados específico. No caso do Oracle, isso será SEQUENCE e, como você não especificou nada, o Hibernate usará uma única sequência global chamada hibernate_sequence
. Isso está correto? Bem, eu não sei, depende de suas necessidades. Por precaução, o valor máximo padrão para uma sequência Oracle é 1E+27, ou 1.000.000.000.000.000.000.000.000.000. Isso é o suficiente para muitos.
Agora, é possível usar
GenerationType.AUTO
e ainda controlar o nome da sequência quando o banco de dados usa sequências:@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="my_entity_seq_gen")
@SequenceGenerator(name="my_entity_seq_gen", sequenceName="MY_ENTITY_SEQ")
private Long id;