に多くを持つエンティティを保存するときに、私は2つのJPAエンティティJPA:主キー違反1
@Entity
@Data
public class SolManConfig {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String data;
@ManyToOne(cascade= CascadeType.ALL)
private Tenant tenant;
}
@Entity
@AllArgsConstructor
class Tenant {
@Id
private String tenantID;
}
とリポジトリ
interface SolmanConfigPrivateRepository extends CrudRepository <SolManConfig, Long> {
}
を持っているが、私は次のコード
public void addConfig(SolManConfig solManConfig){
String tenantId = userProvider.get();
solManConfig.setTenant(getCurrentTenant());
Tenant tenant = new Tenant(tenantId);
dbRepository.save(solManConfig);
}
で新しいエンティティを作成します
私はリポジトリのsaveメソッドを使ってSolmanConfigを保存することができます。
私は同じテナントに新しいSolmanConfigを保存しようとすると、私はどのように私は別のものがデータベースにすでに存在する場合、新しいテナントを作成しようとしないためにJPAを伝えることができ
Unique index or primary key violation: "PRIMARY_KEY_9 ON PUBLIC.TENANT(TENANTID)
エラーが出ます(しかし、代わりに既存のものを参照する)?
あなたはエンティティを作成し、保存し –
を起動する方法を示して、私はあなたに感謝...私は見 –