当前位置: 首页 > 面试题库 >

我们如何获得JPA EntityManager Flush工作

詹弘毅
2023-03-14
问题内容

我的问题是为什么冲洗不起作用:

public void ejbService(){
   Customer c = em.find(Customer.class,1);
   c.setName("newName");
   em.flush();
   //at this point when I query mysql table I can not see "newName"


   thread.sleep(10000);

   c.setName("anotherName");
}

完成该方法后,我在数据库中看到“
anotherName”,我也用em.find(Customer.class,1,Lock.None);进行了检查;但仍然行不通

RGDS


问题答案:

您正在刷新,但没有提交-或结束了可能配置为自动提交的事务/会话。

是的,在调用之后flush(),DBMS现在可以知道您的数据了-但是按照ACID标准,在告知DBMS提交数据之前,其他数据库会话都不会看到该数据。

在不了解有关应用程序其余部分背后的体系结构的其他详细信息的情况下,您可能正在寻找类似的方法:

em.getTransaction().commit();


 类似资料:
  • 问题内容: 我已经阅读了很多有关此部分的内容,发现是编写地理编码并搜索tweet,例如 https://api.twitter.com/1.1/search/tweets.json?geocode=37.781157,-122.398720,1mi&count = 10 根据我在Twitter网站上发现的信息,返回位于给定纬度/经度半径内的用户的推文。使用“半径”修改器时,最多将考虑1,000个不

  • 我计划使用这里记录的实时订阅系统,因为它解释了我们可以订阅一个位置ID,并在该位置接收关于新媒体的通知。我们推出了它,但立即开始失败,因为有一个未发布的30个订阅的限制(我想我们应该在开始构建它之前做更多的谷歌搜索)。 这基本上是在这里概述的相同的问题,但谈话真的很陈旧,我不确定最终目标是完全相同的,因为提出的解决方案对我没有帮助。 有太多的客户帐户注册更多的应用程序以获得足够的订阅(我们将不得不

  • 如何使用Gradle下载mybatis-spring?因为当我使用“”时,我得到了message下面的message。 这是我的文件。

  • 问题内容: 我们如何获得使用Selenium WebDriver加载页面的准确时间? 我们使用Thread.sleep 我们隐式使用 我们使用WebDriverWait 但是我们如何获得使用Selenium WebDriver加载页面的准确时间呢? 问题答案: 如果您尝试找出使用Selenium WebDriver(又名Selenium 2)完全加载页面需要多少时间。 通常,仅在页面完全加载后,W

  • 问题内容: 有没有办法在jenkins中获取当前构建的作业名称,并将其作为参数传递给ant构建脚本? 问题答案: Jenkins设置了一些环境变量,例如(请参阅此处),以获取有关设置的变量的更多详细信息。 然后,您可以通过在ant中访问它们。 编辑:还有在同一页上的环境变量有点HOWTO 这里。

  • 问题内容: 嗨,我正在开发警报应用程序,因为我需要在用户选择的不同日期的同一时间重复调用警报。 我meen如果我设置报警时间8PM和重复选项sunday,tuesday闹钟会在每个被调用sunday,tuesday。 任何帮助,将不胜感激。 问题答案: 为此使用广播接收器和Sqlite数据库。