5
私が構築しているサービスは、ベンダの「外部ID」に付属の外部システムからデータを受信します。私は私達のデータベースでは、このデータを保存すると、私もそれに自動生成されたIDを割り当てます。非IDフィールドに基づいてマージするJPA機能はありますか?
@Entity
public class Content {
@Id
@GeneratedValue
private Long id;
private Long externalId;
// many other fields
}
外部システムは、(同じ外部IDを持つ)同じ内容のデータを再送する場合、それはにデシリアライズされます戸建コンテンツPOJO:
Content c = deserialize(json);
ではなくid
フィールドよりも、externalId
フィールドを使用して、データベースから対応する行をロードし、更新することができEntityManager.merge
のようなものはありますか?
あるとは思いません。おそらくcreateQueryを介してエンティティを検索する必要があります。 externalIdに索引を作成する可能性があります。それにもかかわらず興味深い質問IMO – Eugene