这是我之前讨论过的代码,但这是一个不同的Hibernate问题。我可以删除列表中的所有项目,也可以将任何项目添加到列表中,但是如果我进行的修改包括以前添加的步骤,则当我坚持时会出现错误。我必须保留第一次添加到列表中的项目,否则列表中什么都没有。这是应用程序更新功能的全部。您在其中创建原始列表的应用程序的CREATION部分工作正常。这是我要更新的当前代码。我只包括我认为相关的内容。
for Step: newProcess.getSteps()) //RETURNS ALL STEPS, NEW AND OLD.
{
em.persist(step); //Required if step did not exist before, throws exception if it did.
}
// SOME STUFF THAT DOESN'T MATTER
em.merge(newProcess);
em.persist(newProcess);
em.getTransaction().commit();
在其他帖子中,有些人回答说这些步骤不需要单独保留,但是可以这样做,否则,Process对象的步骤(包括现有步骤)中的所有内容都会被删除。有没有一种简单的方法可以知道某个步骤之前是否存在,如果存在,您将如何处理?谢谢你的时间。
示例步骤: 1.在创建或更新过程中完成的第一步 2在UPDATE期间添加了过程的第二步,但剩下的第一步。