私のアプリケーションではかなり簡単なJPA @ManyToMany
の関係が設定されています。 Product
は、1つまたは複数の部分の一部である。各OrderSystem
は、多くのProduct
を持つことができます。典型的な多対多の関係です。私のremove()はJPAを使用しているDBから参照を実際に削除しないのですか?
私はこの問題を抱えています:orderSystems.remove()
を使用してProduct
からOrderSystem
への参照を削除すると、そのセッション内でエントリが削除されたように見えます。ただし、フラッシュ上のクロスリファレンステーブルからエントリが削除されず、Product
をリロードすると、以前のOrderSystem
が設定されています。
私は、次のコードを持っている:
@Entity
@Table(name = "p_product_versions")
@Validation
public class Product {
private List<OrderSystem> orderSystems;
@ManyToMany
@JoinTable(name = "p_order_systems_has_product_versions",
joinColumns =
@JoinColumn(name = "p_product_versions_prod_version_id"),
inverseJoinColumns =
@JoinColumn(name = "p_order_systems_system_id"))
public List<OrderSystem> getOrderSystems() {
return orderSystems;
}
}
@Entity
@Table(name = "p_order_systems")
@Validation
public class OrderSystem {
private List<Product> products;
@ManyToMany (mappedBy = "orderSystems")
public List<Product> getProducts() {
return products;
}
}
誰もが、私はここに欠けている何で私を指すことができますか?
はい - 私は私が間違って何をやっていた考え出した、そしてそれに自分自身の答えを提出します。 –