maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.javers</groupId>
<artifactId>javers-spring-boot-starter-sql</artifactId>
<version>3.1.0</version>
</dependency>
配置
javers:
mappingStyle: FIELD
algorithm: LEVENSHTEIN_DISTANCE
prettyPrint: true
typeSafeValues: false
newObjectSnapshot: false
packagesToScan: com.xixicat.dao
auditableAspectEnabled: true
springDataAuditableRepositoryAspectEnabled: true
dao配置
@JaversSpringDataAuditable
public interface PersonRepository extends CrudRepository<Person, Integer> {
}
方法配置
@JaversAuditable
public void save(Person person) {
personRepository.save(person);
}
查看变更
@Test
public void testChangeHistory(){
QueryBuilder jqlQuery = QueryBuilder.byInstanceId(2, Person.class);
List<Change> changes = 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<CdoSnapshot> snapshots = javers.findSnapshots(QueryBuilder.byInstanceId(1, Person.class).build());
System.out.println(snapshots);
}
doc
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。