Для генерации идентификаторов сущностей приложение использует триггер. Таким образом, для присвоения сгенерированных значений к объектам мы используем конструкции, как это:Composite @NaturalId в объекте спящего режима
@Id
@Column(name = "INVOICE_ID")
@GeneratedValue(generator = "trigger")
@GenericGenerator(name = "trigger", strategy = "org.hibernate.id.SelectGenerator")
private Long invoiceId;
@Column(name = "INVOICE_AMOUNT")
@NaturalId(mutable = true)
private Double invoiceAmount;
SelectorGenerator
требует использовать @NaturalId
для некоторого поля, который должен есть (логически) уникальное значение. Но в некоторых таблицах нет ни одного поля, которое имеет все уникальные значения. SelectGenerator
не поддерживает несколько физических идентификаторов. Как мы можем обойти эту ситуацию?