首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flush自动调用persist

Flush自动调用persist
EN

Stack Overflow用户
提问于 2012-07-19 12:20:32
回答 1查看 186关注 0票数 0

我只是有一个小问题,关于flush是否涉及自动持久化所有以前的实体关系。我的意思是:

代码语言:javascript
复制
shFood.setCuisines(cuisineSelection);
entityManager.flush(); 

为什么entityManager自动持久化我的shFood实体以及菜肴(shFood有一个级联持久化cuisineSelection)实体,即使我没有为我的shFood指定persist?

如果能澄清一下会很感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-19 12:52:43

在这种情况下,您的shFood不是新的实体实例-相反,它已经是托管实体。不需要为已经被管理的实体调用persist来使它们成为被管理的实体。在关闭entity managed或实体与持久性上下文分离之前,此实体将一直处于托管状态,例如,通过detachclear

在你的案例中发生了什么:

  1. 在您展示的代码之前的某个地方,您获得了对托管实体实例shFood的引用。此实例将一直处于托管状态,直到detached.
  2. shFood.setCuisines(cuisineSelection)在持久性中做出更改context
  3. entityManager.flush()强制实体管理器将对持久性上下文中的实体所做的更改刷新到数据库。对托管实体所做的所有更改都将刷新。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11553901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档