エンティティ アプリケーションの生成 ID には、トリガーが使用されます。したがって、生成された値をエンティティに割り当てるには、次のような構造を使用します。
@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
複数の自然 ID はサポートされていません。どうすればこの状況を回避できますか?