摘要:
我们都知道 Spring Batch 有 2 种任务方式。 主要是在 Step 阶段,在 Step 阶段,我们可以执行一个 Tasklet,我们也可以按照 Chunk 来执行。 主要区别 如果使用 Tasklet 的话,我们可以一个 Step 对应一个 Tasklet,Spring Batch 不允 阅读全文
摘要:
根据 Spring Batch 的设计,在一个 Step 中只能执行一个 Tasklet。 如果想按照顺序执行多个 Tasklet 的话,我们需要设置不同的 Step。 正如上面定义的 Step,虽然我们在这个 Step 中定义了 2 个 Tasklet。 上面代码最后的执行顺序还是只执行最后一个 阅读全文
摘要:
对 Spring Batch 有所了解的同学都知道 Batch 是用来进行批量数据处理的。 但是我们在同时使用 Spring JPA 的时候,尤其是循环数据处理的时候,我们希望能够尽快提交事务。 但是,Spring Batch 中,如果使用了 Tasklet 的话,那么Spring 会在 Taskl 阅读全文
摘要:
在 Spring 项目中,如果使用了 Spring 的事务管理的话。 默认的事务级别都在类,这个级别的,这就导致了,如果在循环中对数据进行处理的话,如果循环不结束,事务是不会提交的。 如果出现了事务堆积的情况,大概率就会锁表,然后整个服务抛出异常。 如下面的代码: public void assig 阅读全文
摘要:
错误的信息为: Caused by: java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the 阅读全文
摘要:
有时候我们需要将给定的 List 转换为 Map。 如果你使用的是 Java 8 以后版本的话,Stream 是你的好朋友。 Java 8 public Map<Integer, Animal> convertListAfterJava8(List<Animal> list) { Map<Integ 阅读全文
摘要:
在运行 Spring Batch 项目的时候,提示上面的错误信息: java.sql.SQLSyntaxErrorException: (conn=12433) Table 'usrealestate.BATCH_JOB_INSTANCE' doesn't exist 问题和解决 这个问题如果是使用 阅读全文
摘要:
根据官方的文档说明:Spring Data JPA - Reference Documentation 可以在查询的参数后面添加 True 或 False 来进行查询。 例如,如果需要对下面的参数进行查询: True findByActiveTrue() … where x.active = tru 阅读全文
摘要:
我们在使用 Spring JPA 测试项目启动的时候,得到下面的错误: Unable to acquire JDBC Connection 问题和解决 出现这个问题的主要原因是我们在资源文件夹中还有一个 hibernate.properties 文件。 这个文件中配置了 Hibernate 的数据库 阅读全文
摘要:
Spring 进行测试的时候提示的错误信息如下: SEVERE: Caught exception while closing extension context: org.junit.jupiter.engine.descriptor.JupiterEngineExtensionContext@c 阅读全文