如何在带有@Async批注的方法中获取休眠会话 - java

我正在使用Spring 4.0.5

我想使用@Async方法执行一些数据库操作,但是没有保存数据,当我删除@Async批注时,它可以正常工作。

我知道问题是因为休眠会话在新线程中不可用。任何人都可以知道相同的解决方案吗,我到底需要做什么。

这是代码片段

Controller.java

taskExecutorService.insertLoginDetails(data);


TaskExecutorService.java

@Async
public void insertLoginDetails(LoginDetail data) {
  sessionFactory.getCurrentSession().save(data);
}

谢谢,
-键

参考方案

不要混用@Async@Transactional方法,将@Transactional方法委托给新组件

Spring MVC:如何获取请求的处理程序方法 - java

我正在尝试根据Spring @RequestMapping注释方法上存在的注释实现一些逻辑。因此,我的方法中有一个HttpServletRequest实例,我想问一下spring“给我一个方法,该方法将被调用以处理此请求”,因此我可以使用反射API来询问是否存在我的注释,因此我可以更改处理。有什么简单的方法可以从Spring MVC获取此信息? java大神…

运行项目后无法在IntelliJ中打开静态页面(Spring MVC) - java

首先,我可以像这样通过intellij按钮查看htmlenter image description here然后当我单击按钮intellij显示浏览器错误enter image description here然后我运行tomcat,然后单击浏览器按钮enter image description here我是一个初学者,我不知道为什么会发生 参考方案 您…

Spring MVC-休息控制器响应类型为空时自动返回204 - java

我试图让当控制器方法响应类型为void时spring自动返回HTTP Status 204。例如:假设我有一个像这样的控制器方法:@DeleteMapping(value = "/{heroId}") public void delete(@PathVariable Long heroId) { heroService.delete(he…

Spring MVC Controller测试,并模拟许多类 - java

我们的系统中有许多Controller,还有许多Spring Data存储库。我想为通过我的MVC上下文运行的控制器编写测试。但是,必须手动模拟系统中的每个服务和存储库似乎很麻烦,而且不合适,因此我可以测试控制器例如FooControllerTest.java@RunWith(SpringJUnit4ClassRunner.class) @WebAppCon…

Java:“自动装配”继承与依赖注入 - java

Improve this question 我通常以常见的简单形式使用Spring框架: 控制器服务存储库通常,我会在CommonService类中放一个通用服务,并使所有其他服务扩展到类中。一个开发人员告诉我,最好在每个服务中插入CommonClass而不是使用继承。我的问题是,有一个方法比另一个更好吗? JVM或性能是否会受到另一个影响?更新资料Comm…