ManyToOne マッピングを持つ 2 つのエンティティ トランザクションとカテゴリがあります。非常に多くのトランザクションが have カテゴリに分類される可能性があります。
@Entity
class Transaction extends Model{
@Id
public Long id;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name="cat_id", referencedColumnName="cat_id")
public Category cat;
}
@Entity
class Category extends Model{
@Id
@Column(name="cat_id")
public Long catId;
@Column(unique=true)
public String catName;
@ManyToOne
public List<Transaction> transactions
}
ここで、同じ catName を持つ 2 つのトランザクションを 2 回追加すると、catName で Unique 制約エラーがスローされます。CatName が既に存在する場合 (常に挿入しようとするのではなく)、Ebean にカテゴリをマージするように指示する方法はありますか?
また、次のことを考慮して、このマッピング アプローチは正しいですか。
トランザクションを削除する場合、対応するカテゴリは他のトランザクションによって参照される可能性があるため、削除しないでください。
助けてくれてありがとう!