我目前使用这种方法来生成 id:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
效果是,当我保存 A 类型的实体时,它会获得 id '1',然后我保存实体 B 并获得 id '2'(而不是 1,因为它是另一种实体类型),然后我保存类型的实体A 再次得到 id '3' (而不是 2)。
我想要的是,Hibernate 自己计算每个实体类型的 ID 序列。那可能吗?
我目前使用这种方法来生成 id:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
效果是,当我保存 A 类型的实体时,它会获得 id '1',然后我保存实体 B 并获得 id '2'(而不是 1,因为它是另一种实体类型),然后我保存类型的实体A 再次得到 id '3' (而不是 2)。
我想要的是,Hibernate 自己计算每个实体类型的 ID 序列。那可能吗?
只需为每种实体类型定义不同的序列。另请参阅https://docs.oracle.com/javaee/6/api/javax/persistence/SequenceGenerator.html