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
vote
1 answer

How to get authentication imperatively in reactive Spring?

I am using Javers and need to provide the author of a commit. In order to do this, I create this class private class SimpleAuthorProvider : AuthorProvider { override fun provide(): String { return "the_author" } } However instead…
Niamh
  • 31
  • 3
1
vote
0 answers

Javers Set Changes - Only detect if object was added or removed, not changed

I have a set containing employee objects, that can be edited in another page. When I fetch set changes, I don't want the changed object to be detected, I just care if an object was removed or added from the set regardless of how it was edited. For…
Ownage
  • 45
  • 4
1
vote
0 answers

Javers not supporting SaveAndFlush

JaVers is not supporting JpaRepository.saveAndFlush() . Why so? I am using the version 5.6.4 of javers-spring-boot-starter-mongo
RKA
  • 308
  • 2
  • 10
1
vote
1 answer

Javers cannot compare some mocked objects

I'm trying to find a way to fix some unit test at work. We use javers.compare() to log the differences after we modified an object, but a strange error came up and i've found little to none info about it. All of our objects implements the…
1
vote
0 answers

Comparing Entities in javers without id

My application uses jBPM. In jBPM may be long live processes, in processes may exist some variables. For example, I have a business process of contract approval. When process started, empty contract created. After contract owner fill common…
Alex T
  • 2,067
  • 4
  • 20
  • 27
1
vote
1 answer

Oracle repository dependency for javers

I wanted to persist audit changes to oracle db. The micro-service is a spring boot application with hibernate. I found many dependencies in this link mvn repository link for javers Which dependency should I be using for oracle db?
a_good_human
  • 544
  • 3
  • 12
1
vote
0 answers

JaversException COMMITTING_TOP_LEVEL_VALUES_NOT_SUPPORTED

I am using Javers for auditing in my application developed with Spring boot and Mongo DB. But when I enable auditing in PolicyDocumentRepository I am getting "JaversException COMMITTING_TOP_LEVEL_VALUES_NOT_SUPPORTED: Committing top-level ValueTypes…
1
vote
0 answers

javers json or string representation of Entities in ListChanges

I have a problem customizing the reperesentation of ListChanges in javers: Given two structures: @Entity public class User { private Long id; .... @OneToMany private List authorisations; } and @Entity public class…
elank
  • 11
  • 1
1
vote
0 answers

Javers and anonymization

We are using javers and using some private datas. We must store the changes (for our business needs) on these datas (that's why we do not exclude them). We have to be able to make these datas anonym. Is there a way to anonymize the datas stored in…
spark82
  • 33
  • 3
1
vote
0 answers

Auditing complex objects changes using JaVers

I blocked in auditing complex objects changes using JaVers. I need to track SiteDto object which is complex object. My implementation design is mentioned below: I have a entity class called site: @Entity Site  @Id  Id: Int(PK)  user: String …
shivakumar sajjan
  • 447
  • 2
  • 5
  • 11
1
vote
1 answer

Facing problem with duplicate file creation while copying file from s3 bucket subfolder to another sub folder using java?

Facing problem with duplicate file creation while copying file from s3 bucket  subfolder to another sub folder using java.   I am trying to copy file from s3 bucket sub folder to another sub folder using java. My s3 bucket name is test and inside…
RKC
  • 17
  • 2
  • 8
1
vote
1 answer

Javers with Spring Boot returning ENTITY_INSTANCE_WITH_NULL_ID for a @Transient field

I've just started using Javers on my Application but I have entities annoted with @Transient that I thought Javers would ignore than, but no :(, instead it's throwing me an exception: JaversException ENTITY_INSTANCE_WITH_NULL_ID: Found Entity…
1
vote
1 answer

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role while using Javers

I'm getting the error: org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.fleetx.persistence.model.Account.users, could not initialize proxy - no Session when I try to do a create operation on one of the…
1
vote
0 answers

Javers: is it possible to get CdoSnapshotSerialized instance?

In org.javers.repository.sql.finders.CdoSnapshotFinder#fetchCdoSnapshots method a list of CdoSnapshotSerialized is getting converted to a list of CdoSnapshot. Is there a public API to get a list of serialized CdoSnapshotSerialized (the way they…
ITisha
  • 902
  • 2
  • 12
  • 14
1
vote
0 answers

Javers findshadows returns null in child object & some fields of parent object

i have the following two domain objects and it has the one to many relation between them 1.BOY (Boy.java) 2.CYCLE (cycle.java) its a springboot based application,and i did javerse repository implementation with this application . while…
Gajendran.G
  • 21
  • 1
  • 3