为什么此@Transactional方法不进行多次保存

丹妮

我正在尝试将同一个朋友的关系保存在同一user_friend db表中,但是方法结束时仅将其保留在db中。

@Override
@Transactional(readOnly = false)
public boolean saveLocalFriends(UserFriend userFriend) {

    UserFriend userFriendToRevert = userFriend;

    if (this.friendDao.saveFriend(userFriend)) {

        userFriendToRevert.revert();
        return this.friendDao.saveFriend(userFriendToRevert);
    }

    return false;
}

基于@macias贡献的好方法。

@Override
@Transactional(readOnly = false)
public boolean saveLocalFriends(UserFriend userFriend) {

    UserFriend userFriendToRevert = new UserFriend();
    BeanUtils.copyProperties(userFriend, userFriendToRevert);    

    if (this.friendDao.saveFriend(userFriend)) {

        userFriendToRevert.revert();

        return this.friendDao.saveFriend(userFriendToRevert);
    }

    return false;
}
马西亚斯

在您发布的方法中,单个实体保存两次。我不确定revert方法的作用,但是我认为它只是以某种方式改变了UserFriend的状态。第二次保存将基本上覆盖第一个。注意

UserFriend userFriendToRevert = userFriend;

仅复制参考。如果您打算保留userFriend的修改后的副本,则需要采取艰苦的方式-构造一个新的UserFriend对象并逐个复制属性,然后保留该副本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

WebSockets ping / pong,为什么不进行TCP keepalive?

来自分类Dev

为什么要从多个表中选择而不进行联接

来自分类Dev

实体框架-为什么此Linq查询生成多次往返?

来自分类Dev

我为什么要使用mercurial而不进行合并?

来自分类Dev

为什么@Transactional自动保存到数据库

来自分类Dev

为什么多次调用此功能?

来自分类Dev

为什么多次调用此jQuery函数失败?

来自分类Dev

为什么不进入if条件?

来自分类Dev

为什么多次添加此<li>?

来自分类Dev

为什么这里不进行隐式转换?

来自分类Dev

为什么对WeakRef对象的WeakReference不进行垃圾收集?

来自分类Dev

为什么在where子句中使用作用域类型变量的此函数为什么不进行typecheck?

来自分类Dev

GEKKO为什么不进行初始测量?

来自分类Dev

为什么在我的情况下不进行整数提升?

来自分类Dev

如果使用此程序,为什么首字母不进入数组?

来自分类Dev

为什么此线程池死锁或运行太多次?

来自分类Dev

为什么不进行比较就返回假?

来自分类Dev

为什么要从多个表中选择而不进行联接

来自分类Dev

实体框架-为什么此Linq查询生成多次往返?

来自分类Dev

为什么@Transactional自动保存到数据库

来自分类Dev

为什么此for循环在装配循环中如此多次?

来自分类Dev

为什么不进行检查就多次调用该函数?

来自分类Dev

为什么不保存此MySQL查询

来自分类Dev

为什么不进行屏幕外更新的UICollectionViewCells?

来自分类Dev

为什么文件全局不进行分词?

来自分类Dev

为什么不进行这种简单的Morte程序类型检查?

来自分类Dev

为什么不进入“ for循环”

来自分类Dev

请告知错误是什么...为什么不进行编译?

来自分类Dev

有什么方法可以让枚举保存通用对象并稍后访问它而不进行类型转换?

Related 相关文章

  1. 1

    WebSockets ping / pong,为什么不进行TCP keepalive?

  2. 2

    为什么要从多个表中选择而不进行联接

  3. 3

    实体框架-为什么此Linq查询生成多次往返?

  4. 4

    我为什么要使用mercurial而不进行合并?

  5. 5

    为什么@Transactional自动保存到数据库

  6. 6

    为什么多次调用此功能?

  7. 7

    为什么多次调用此jQuery函数失败?

  8. 8

    为什么不进入if条件?

  9. 9

    为什么多次添加此<li>?

  10. 10

    为什么这里不进行隐式转换?

  11. 11

    为什么对WeakRef对象的WeakReference不进行垃圾收集?

  12. 12

    为什么在where子句中使用作用域类型变量的此函数为什么不进行typecheck?

  13. 13

    GEKKO为什么不进行初始测量?

  14. 14

    为什么在我的情况下不进行整数提升?

  15. 15

    如果使用此程序,为什么首字母不进入数组?

  16. 16

    为什么此线程池死锁或运行太多次?

  17. 17

    为什么不进行比较就返回假?

  18. 18

    为什么要从多个表中选择而不进行联接

  19. 19

    实体框架-为什么此Linq查询生成多次往返?

  20. 20

    为什么@Transactional自动保存到数据库

  21. 21

    为什么此for循环在装配循环中如此多次?

  22. 22

    为什么不进行检查就多次调用该函数?

  23. 23

    为什么不保存此MySQL查询

  24. 24

    为什么不进行屏幕外更新的UICollectionViewCells?

  25. 25

    为什么文件全局不进行分词?

  26. 26

    为什么不进行这种简单的Morte程序类型检查?

  27. 27

    为什么不进入“ for循环”

  28. 28

    请告知错误是什么...为什么不进行编译?

  29. 29

    有什么方法可以让枚举保存通用对象并稍后访问它而不进行类型转换?

热门标签

归档