На самом деле, здесь ваш SOMETHING_SEQ
- это имя последовательности, которую вы сконфигурировали где-то в вашей конфигурации hibernate. И hibernate_sequence
- это имя последовательности в базе данных. В конфигурации это будет выглядеть примерно так:
<sequence-generator name="SOMETHING_SEQ"
sequence-name="hibernate_sequence"
allocation-size="<any_number_value>"/>
Вы можете полностью пропустить эту конфигурацию, используя вместо этого аннотацию. Тогда ваша аннотация @SequenceGenerator
должна содержать еще несколько параметров. Ниже приведен пример.
@SequenceGenerator(name="SOMETHING_SEQ", sequenceName="hibernate_sequence", allocationSize=10)
Например, несколько классов сущностей будут делать что-то вроде ниже,
@Entity
public class Entity1 {
@Id
@SequenceGenerator(name = "entity1Seq", sequenceName="ENTITY1_SEQ", allocationSize=1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "entity1Seq")
@Column(name = "ID", nullable = false)
private Long id;
...
...
}
@Entity
public class Entity2 {
@Id
@SequenceGenerator(name = "entity2Seq", sequenceName="ENTITY2_SEQ", allocationSize=10)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "entity2Seq")
@Column(name = "ID", nullable = false)
private Long id;
...
...
}