1
非常に基本的な電子商取引JavaアプリケーションでCATEGORYとPRODUCTの関係が多岐にわたります。ManyToMany関係でオブジェクトを削除すると、整合性制約違反が発生する
カテゴリは製品と@ManyToMany関係を持っています。したがって、2つの列CATEGORY_PRODUCTがありますCATEGORY_IDとPRODUCTS_ID
テーブル内の特定の製品のすべてのリレーションを削除したいと思いますか?
public void deleteProduct(long id){
Session session = HibernateUtil.getCurrentSession();
session.beginTransaction();
Product product = session.find(entityClass, id);
String sql = "DELETE FROM PUBLIC.CATEGORY_PRODUCT WHERE PRODUCTS_ID = " + id;
SQLQuery query = session.createSQLQuery(sql);
query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP);
session.delete(product);
session.getTransaction().commit();
}
私の計画は製品を削除することですが、その関係のため「整合性制約違反」があります。