我有一个简单称为Order的实体。我现在用于ID的策略是:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ORDER_ID")
private Long id;
现在,硬编码另一个startvalue似乎很容易:
@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不是最佳做法吗?
答案 0 :(得分:0)
通常,但并非总是如此,最简单的方法是在数据库中创建序列并使用该序列。我希望以下示例中没有太多错误:
@Id
@GeneratedValue(generator="IdSeq")
@SequenceGenerator(name="IdSeq",sequenceName="SEQ_ID_GEN", allocationSize=20)