エンティティに自動インクリメントキーがあります。
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Long id;
上記のIDに基づいて作成されたオブジェクトに別の変数データがあります。
例:
private String data;
public String setData(String str){
this.data = str + this.getId();
}
data
オブジェクトの作成中に変数を設定するにはどうすればよいですか。
以前はPrePersistアノテーションを使用しましたが、この場合は役に立ちません。
実際のを保存する前にIDを生成することはできませんdocument
。できることは、ドキュメントを保存し、データ部分を設定して、もう一度保存することです。
Document saved = jpaRepository.save(document);
saved.setData(saved.getId() + "blah");
jpaRepository.saveAndFlush(saved);
一貫性を維持するために、トランザクションの下でこれらのステップを実行できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加