如何在单个事务中调用2个重载方法?

时间:2019-06-24 04:54:46

标签: java spring service transactions dao

在控制器的不同位置调用了两个方法: info是具有4个字段的模型类。

StudentInfo info = new StudentInfo(1,2,3,4);
studService.userUpdate(info);

在这里,我们正在通过过程在dao中插入记录,此处未进行任何更改。

现在,我们在信息模型类中又添加了4个字段。

StudentInfo info = new StudentInfo(5,6,7,8);
studService.userUpdate(info, flag);

在这里,我希望方法1-8的所有字段都只应插入一条记录中。就像,当第一种方法被调用时,它将插入4个字段,而当第二种方法将被调用时,它将在同一记录中插入其余的4个。 我该如何实现?可以在其中使用@transactional吗?

1 个答案:

答案 0 :(得分:0)

是的! @Transactional可以使用,但是可以确保方法级别的事务,即方法内部的所有内容都被执行或什么都不执行。因此,仍然很可能成为潜在的非事务代码块。

这种方法是不正确的,您宁可将这两个对象合并为一个,然后执行插入。

我们应该执行错误的代码,因为我们有一个功能,而不是总是使用最简单的逻辑代码。