我认为CascadeType关键字与EntityManager.
但是这些代码让我感到困惑。
如下代码。(对不起,非常简单的代码)
Parent parent = new Parent();
Child child1 = new Child();
Child child2 = new Child();
parent.addChild(child1);
parent.addChild(child2);
em.persist(parent);
运行后,插入了父、子1、子2。
直到这里还好,这是我的预期。
Parent foundParent = em.merge(parent); // parent has identifier
Child child1 = new Child();
Child child2 = new Child();
parent.addChild(child1);
parent.addChild(child2);
从这里..我开始思考em.perist != CascadeType.PERSIST。
而且..这段代码也是一样的。
Parent foundParent = em.find(Parent.class, 1);
Child child1 = new Child();
Child child2 = new Child();
parent.addChild(child1);
parent.addChild(child2);
child1, child2 也被插入。
现在我很困惑。
如果它们在operation of EntityManagerand之间不一样CascadeType,我怎么能理解CascadeType.MERGE呢?
对不起,我的英语很短,谢谢你的阅读。