Questions tagged [javers]

JaVers is a lightweight java library for auditing changes in your data.

What is JaVers

JaVers is a lightweight java library for auditing changes in your data.

We all use Version Control Systems for source code, so why not use a specialized framework to provide an audit trail of your Java objects (entities, POJO, data objects)?

Story of JaVers

When developing an application, we usually concentrate on the current state of the domain objects. So we simply instantiate them, apply some changes and eventually, delete them, not paying much attention to their previous states.

The challenge arises when a new requirement is discovered.

As a User, I want to know who changed this status, when the change was performed and what the previous status was. The problem is that both version and change notions are not easily expressible either in Java language or in the mainstream databases (although NoSQL document databases have an advantage here over relational databases).

This is the niche that JaVers fills. In JaVers, version and change are first class citizens.

Basic facts about JaVers

  • It’s lightweight and versatile. We don’t make any assumptions about your data model, bean container or underlying data storage.
  • Configuration is easy. Since we use JSON for object serialization, we don’t want you to provide detailed ORM-like mapping. JaVers only needs to know some high-level facts about your data model.
  • JaVers is meant to keep its data versioning records (snapshots) in the - application’s primary database, along with main data. We use some basic notions following Eric Evans DDD terminology like Entity or Value Objects, pretty much how JPA does. We believe that this is the right way to describe data.
  • JaVers is written in Java7 and can be run on JDK 7 or higher.

Licence

JaVers is released under Apache License Version 2.0.

Homepage

http://javers.org/

388 questions
-1
votes
1 answer

Javers commit author name

following question: I'm using Javers in my Spring Boot project, and want to extract the commit author name. The value of snapshots.get(0).getCommitMetadata().getAuthor() gives only something like TokenPayload@254d2bf. The first idea was to set the…
-1
votes
1 answer

Is there support for changes in a SortedSet using the java library "javers" compare functionality?

Classes with fields of type SortedSet do not show up in the changes. class TestClass{ String id; Set set; SortedSet sortedSet; } private void runTest(){ Javers javers = JaversBuilder .javers() …
-1
votes
1 answer

JaVers and Spring boot 2.1.x [Java 11 version]

We are using Javers Auditing framework [5.6.2] in our web application built on Spring boot 1.x. The directions is now to move to Spring boot 2.x and migrate to Java 11. Is there a release planned for this or is the latest current version of JaVers…
-1
votes
1 answer

Need CRUD operations for javers

I want to archive restore the javers audit records. So I want ability to delete the records and insert them again. Does javers repository provide delete/insert API or we use standard JPA techniques to do that ? I have searched through the API. It…
-1
votes
1 answer

QueryBuilder from one database does not read audit data created by other JaversRepository from another database

Following is my problem. Prerequisite: Spring boot application1(SB1) with Database1. Spring boot application2(SB2) with Database2. Both the application write javers audit data to Database3. SB1 audits data for entity E1. SB2 audits data for entity…
-1
votes
2 answers

type_name_not_found - (Javers , Spring-boot)

Using javers-core 3.10.2 and javers-spring-boot-starter-sql 3.10.2 javers works well initially. But after restarting spring boot application getting following error. JaversException TYPE_NAME_NOT_FOUND: type name 'Person' not found. If you are…
razi
  • 41
  • 4
-1
votes
1 answer

How does Javers handle frequent queries against json value fields when MySql doesn't support indexing for json?

I am using Javers with MySql. Json can be stored in MySql, but is not usually recommended as MySql doesn't support indexing for json. How does Javers handle frequent queries against json value fields when MySql doesn't support indexing for json? I…
J.Jung
  • 1
-1
votes
1 answer

When javers schema changes, are the records I have persisted?

I was wondering, when javers releases a new version that requires database changes, do they handle the database upgrade without losing data or will the tables need to start from an empty state?
-1
votes
1 answer

Cannot access its superclass org.javers.spring.jpa.JaversTransactionalDecorator

Seeing the below error when using current savers spring boot starter implementation (v 2.0.2) Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'javersAuditableRepositoryAspect' defined in…
theksquare
  • 121
  • 10
-2
votes
2 answers

Javers - java.lang.ClassCastException: org.javers.core.diff.changetype.ValueChange cannot be cast to org.javers.core.diff.changetype.map.MapChange

I am getting below error working on Spring Boot Javers example. java.lang.IllegalStateException: Failed to execute CommandLineRunner at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:816)…
PAA
  • 1
  • 46
  • 174
  • 282
-2
votes
1 answer

javers, Spring Boot, PostgreSql

How to configure Javers with Spring Boot 2.x and Postgresql such that javers tables are created in a specific schema (named dbo) rather than the default "public" schema of the database?
Sunil Kosuri
  • 99
  • 1
  • 15
-2
votes
1 answer

Javers: Showing List Changes even when not changed

I am comparing two objects (using Javers 3.9.4) which have a structure like below: MyClass has a bunch of fields some of which are Objects with Lists. The list Objects do show changes even when they are the same in both instances of objects. class…
-3
votes
2 answers

Comparison of two Objects containing Array List

Firstlty, Just Check four models Owners, Owner, Addresss(Its different from yours), CodeInfo from here https://github.com/rckr20/javers/tree/master/javerscore/src/test/java/org/javers/core/examples/model Now what i am doing is comparing two Owners…
1 2 3
25
26