私は新しいオブジェクトを持っています。私はそれを保存する前にIDを知りたい。出来ますか?それとも別の方法がありますか?私はデータベースとしてormとoracleとしてjpaを使用しています。オブジェクトをjpaに保存する前にIDを知る方法
@Id
@Basic(optional = false)
@Column(name = "ID", nullable = false)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "woTypeSeq")
private Long id;
私のエンティティにはコードフィールドがあります。ユーザーがcode
フィールドの値を入力しない場合は、コードをエンティティのIDとして設定する必要があります。私がエンティティを永続させるならば、IDとIDのコード値をidとして取得できますが、これは追加のクエリデータベースです。
私はあなたが(実際にそれを書き込む前に)事前にその値を知ることができません@GeneratedValueタイプのIDを持つこと
if(entity.getCode()==null) {
entity.setCode(entity.getId);
jpaDao.saveOrUpdate(entity);
}
あなたが「手動」の値を取得し、エンティティにそれを設定するために発電機を自分で使用し、@GeneratedValueを避けることができ – SJuan76
私がdontエンティティに手動で設定したい場合は、oracleからidの次の値を取得し、新しいエンティティのIDに設定します。合理的ですか? – mstzn