休止状態でフィールドを設定して、null のときはいつでも値を生成することは可能ですか?
これは主キーではなく、ビジネス キーです。基本的に、バーコード フィールドを持つコンテナーがあります。バーコードが割り当てられていない場合は、自動的に生成されます (例: プレフィックス + シーケンス番号)。
それは可能ですか、それとも次のシーケンス値にアクセスするためのカスタム メソッドを作成する必要がありますか?
これを見てください: Hibernate JPA Sequence (non-Id)
アイデアは、生成された値のエンティティを作成し、BarCode
それをメイン エンティティのプロパティとして使用することです。
@Entity
public class BarCode{
private static final String PREFIX = "PREFIX";
@Id
@GeneratedValue(...)
private Long number;
public String getBarCodeValue(){
return PREFIX + getNumber();
}
}
@Entity
public class MyEntity {
@Id ..
private Long id;
@OneToOne(...)
private BarCode barCode;
public String getBarCodeValue(){
return barCode.getBarCodeValue();
}
}
クラス自体からバーコードの値を割り当てます。このようなことを試してください。
int sequencenumber = generateSequence();
String barcode = prefix + sequencenumber;
私はこれを試していません。したがって、これが機能するかどうかはわかりません。試してみてください。
これもチェックしてください: JPAで列のデフォルト値を設定する