【问题标题】:Spring data JPA and JdbcTemplate are not synchronousSpring数据JPA和JdbcTemplate不同步
【发布时间】:2017-03-30 02:53:30
【问题描述】:

我遇到了 jdbcTemplate 和 JPA 的问题:

    public void test(){

     //assuming we have 3k users and use jdbcTemplate to perform batch update

     batchUpdateUsers(userList) ;
     //This list doesn't contain latest information of user after update
     List<User>updatedUsers = userRepository.findAll();
}

我猜在方法 batchUpdateUsers 返回后,事务未提交或已提交但有延迟时间将其提交到数据库,因此稍后获取的列表不会更新。

有什么办法可以解决这个问题吗?谢谢!

【问题讨论】:

  • 这里的信息(代码和配置)太少,无法帮助您。如果您正确设置它应该可以工作。
  • FWIW Spring Data JPA != JPA API。标签现已修复,请在未来正确添加标签
  • @meobeo173 我什么都没忘记。您需要提供比现在更多的信息/上下文。

标签: spring spring-data-jpa spring-jdbc


【解决方案1】:

看起来像是交易问题。如果你声明了一个 JpaTransactionManager 并且有一个单一的数据源,batchUpdateUsers 所做的修改应该对userRepository.findAll 可见

您如何管理交易?如果您使用的是 Spring Boot,请查看 @EnableTransactionManagement@Transactional 注释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 2012-01-28
    • 2020-03-07
    • 1970-01-01
    • 2014-03-07
    • 2013-07-25
    • 1970-01-01
    相关资源
    最近更新 更多