AuditedOneToOneMappingtoEnversRevisionusingPostloadinSpringBoot
创始人
2024-09-22 06:30:57
0

在Spring Boot中,如果需要将一个OneToOne映射Audited到Envers Revision,并在Postload后查询历史记录,则可以按照以下步骤进行操作:

  1. 在pom.xml中添加Envers、Hibernate以及相关的依赖项:

    org.hibernate
    hibernate-envers
    ${hibernate-version}



    org.hibernate
    hibernate-core
    ${hibernate-version}



    org.springframework.boot
    spring-boot-starter-data-jpa

  1. 在@Entity注释下添加@Audited注释,以启用Envers的审计功能:
@Entity
@Audited
public class User {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    private String name;
    
    // OneToOne mapping
    @OneToOne(mappedBy = "user", cascade = CascadeType.ALL)
    private UserDetails userDetails;

    // getters and setters
}
  1. 在关联实体类中,按照与User类类似的方式添加@Audited注释:
@Entity
@Audited
public class UserDetails {
    
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    private String address;
    
    // OneToOne mapping
    @OneToOne
    @JoinColumn(name = "user_id")
    private User user;

    // getters and setters
}
  1. 在Postload方法中使用Envers得到历史记录:
@Component
public class AuditEventListener implements PostLoadEventListener {

    @Autowired
    private AuditReader auditReader;

    @Override
    public void onPostLoad(PostLoadEvent event) {
        if (event.getEntity() instanceof User) {
            User user = (User) event.getEntity();
            User oldUser = auditReader.find(User.class, user.getId(), 1L);
            User newUser = auditReader.find(User.class, user.getId(), user.getRevisionNumber());

            // do something with oldUser and newUser
        }
    }
}

在这里,我们定义了一个名为AuditEventListener的组件,它实现了PostLoadEventListener接口,以在Postload后获取历史记录。我们注入了AuditReader,以获

相关内容

热门资讯

有挂规律辅助!微乐游戏兑换码大... 有挂规律辅助!微乐游戏兑换码大全,来玩app破解(透视中牌率开挂辅助软件);亲,微乐游戏兑换码大全这...
有挂分析辅助!潮友软件辅助器脚... 有挂分析辅助!潮友软件辅助器脚本,闲逸辅助插件(透视规律开挂辅助脚本)潮友软件辅助器脚本ai黑科技系...
有挂方略辅助!同城游抓狗腿辅助... 有挂方略辅助!同城游抓狗腿辅助,浙江宝宝游戏辅助器是真的嘛(最新通报开挂辅助插件)您好:同城游抓狗腿...
有挂总结开挂!微信小程序加速器... 有挂总结开挂!微信小程序加速器,情怀打七开辅助(大家学习交流开挂辅助软件);无需打开直接搜索加薇13...
有挂解惑辅助!蘑菇云辅助怎么使... 有挂解惑辅助!蘑菇云辅助怎么使用,衢州都莱辅助器下载(透视攻略开挂辅助脚本);1、这是跨平台的蘑菇云...
有挂教学辅助!雀神广东麻将推倒... 有挂教学辅助!雀神广东麻将推倒胡辅助器下载,玉海楼茶苑辅助器(必备教程开挂辅助脚本);打开点击测试直...
有人有挂辅助!情怀四川辅助哪里... 有人有挂辅助!情怀四川辅助哪里可以装,超圣大厅黑科技(玩家必知教程开挂辅助平台) >>您好:软件加薇...
有挂解密开挂!随意玩辅助器视频... 随意玩辅助器视频透视挂 无需打开直接搜索微信:136704302本司针对手游进行,选择我们的四大理由...
有挂秘笈开挂!蜂娱辅助,玩吧辅... 有挂秘笈开挂!蜂娱辅助,玩吧辅助工具(透视好友房开挂辅助插件);亲真的是有正版授权,小编(透视辅助软...
有挂教程开挂!海贝之城正版辅助... 有挂教程开挂!海贝之城正版辅助,贪吃蛇辅助器怎么下载(六分钟了解开挂辅助工具);无需打开直接搜索打开...