Как динамически установить серию номеров идентификаторов, используя постоянство javax / шов - PullRequest
0 голосов
/ 04 января 2012

У меня есть сущность, которая называется просто Порядок.Стратегия, которую я сейчас использую для идентификатора:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ORDER_ID")
private Long id;

Теперь жесткое кодирование другого начального значения кажется простым:

@Entity
@SequenceGenerator(name = "SequenceIdGenerator", 
    sequenceName = "SEQ_ID_GEN", initialValue = 50, 
    allocationSize = 20)
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SequenceIdGenerator")
    @Column(name = "ORDER_ID")
    private Long id;

Но это жестко задано в 50. Могу ли я установить это значение динамически?Лучше всего было бы, если бы я мог сохранить его в базе данных или в файле свойств?

Или не рекомендуется устанавливать динамически id?

1 Ответ

0 голосов
/ 04 января 2012

Обычно, но не всегда, самый простой способ - создать последовательность в вашей базе данных и использовать эту последовательность. Я надеюсь, что в следующем примере не так много ошибок:

@Id
@GeneratedValue(generator="IdSeq")
@SequenceGenerator(name="IdSeq",sequenceName="SEQ_ID_GEN", allocationSize=20)
...