2

休止状態でフィールドを設定して、null のときはいつでも値を生成することは可能ですか?

これは主キーではなく、ビジネス キーです。基本的に、バーコード フィールドを持つコンテナーがあります。バーコードが割り当てられていない場合は、自動的に生成されます (例: プレフィックス + シーケンス番号)。

それは可能ですか、それとも次のシーケンス値にアクセスするためのカスタム メソッドを作成する必要がありますか?

4

2 に答える 2

1

これを見てください: 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();
    }
}
于 2013-03-28T12:55:43.287 に答える
0

クラス自体からバーコードの値を割り当てます。このようなことを試してください。

int sequencenumber = generateSequence();
String barcode = prefix + sequencenumber;

私はこれを試していません。したがって、これが機能するかどうかはわかりません。試してみてください。

これもチェックしてください: JPAで列のデフォルト値を設定する

于 2013-03-28T12:54:44.563 に答える