在hibernate中仅插入子表

时间:2016-05-18 12:36:00

标签: java hibernate

我有父类(类别)和子类(产品)。这里从UI的角度来看,Categories将是固定值(红色,绿色,蓝色,橙色)。这些信息将被输入并保存在Categories表中。现在我需要保存与每个类别相关的产品。

问题:

  1. 是否可以仅将与其相关的子(产品)插入类别。

  2. 在上述情况下,哪种关系适合?

1 个答案:

答案 0 :(得分:1)

是的,可以只插入与其相关的子(产品),例如

您可以从数据库中检索Parent,然后保存其子项

String hql = "from Categories where color = red";
            Query query= session.createQuery(hql);
            List<Categories> list = query.list();
            Categories categories = list.get(0);

            Products products = new Products();
            products.setName("");
            // save other attributes
            products.setCategories(products);
            session.save(products);

此处您可以将产品保存在红色的父级下。

  • 这种情况下,One to Many关系最佳。