Я использую OracleDB и у меня есть таблица SHIPPINGMETHODS.Первичным ключом является shipperId, и значения создаются в последовательности
@Entity
@Table(name = "SHIPPINGMETHODS")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ShippingMethod implements Serializable {
private static final long serialVersionUID = 1433756398300075687L;
@Column(name = "SHIPPERID")
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
"shipperSequence")
@SequenceGenerator(sequenceName = "SHIPPER_SEQ", allocationSize =
1, name = "shipperSequence")
private Integer shipperId;
Пока все хорошо, но я хотел бы создать пользовательскую генерацию последовательности, поэтому, если получить способ доставки из БД, чтобы можно было его сохранитьс тем же значением shipperId, но не создает новую последовательность.Поскольку SequenceHiLoGenerator и SequenceGenerator устарели, я решил использовать SequenceStyleGenerator.
@Entity
@Table(name = "SHIPPINGMETHODS")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ShippingMethod implements Serializable {
private static final long serialVersionUID = 1433756398300075687L;
@Column(name = "SHIPPERID")
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator =
"shipperSequence")
@GenericGenerator(
name = "shipperSequence",
strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
parameters = {
@Parameter(name = "sequenceName", value = "SHIPPER_SEQ"),
@Parameter(name = "allocationSize", value = "1")
})
private Integer shipperId;
Как решить проблему, если уже существует shipperId для пропуска создания последовательности?И это правильный подход для решения этой проблемы?