##maven
org.springframework.boot spring-boot-starter-data-jpa org.javers javers-spring-boot-starter-sql 3.1.0
##配置
javers: mappingStyle: FIELD algorithm: LEVENSHTEIN_DISTANCE prettyPrint: true typeSafeValues: false newObjectSnapshot: false packagesToScan: com.xixicat.dao auditableAspectEnabled: true springDataAuditableRepositoryAspectEnabled: true
##dao配置
@JaversSpringDataAuditablepublic interface PersonRepository extends CrudRepository{}
##方法配置
@JaversAuditable public void save(Person person) { personRepository.save(person); }
##查看变更
@Test public void testChangeHistory(){ QueryBuilder jqlQuery = QueryBuilder.byInstanceId(2, Person.class); Listchanges = javers.findChanges(jqlQuery.build()); System.out.println(changes); changes.stream().forEach(e -> { System.out.println(e.toString()); }); String changeLog = javers.processChangeList(changes, new SimpleTextChangeLog()); System.out.println(changeLog); } @Test public void testSnapshotHistory(){ List snapshots = javers.findSnapshots(QueryBuilder.byInstanceId(1, Person.class).build()); System.out.println(snapshots); }
##doc