Description
Hello,
I am sorry if this question is already asked, and I did search before asking, the most relevant one I found is: #511
We are using javers to do audits in our company, and we are satisfied with it's simplicity. However, we had an issue recently regarding a simple removal of a field in an Hibernate entity. And this field itself is an entity as well. So to simplify a bit: Product entity had a field called Category, but Category has been removed completely from db as well as from the code. If I don't do any change in the javers tables, it will break simply with the exception:
org.javers.common.exception.JaversException: TYPE_NAME_NOT_FOUND: type name 'com.edgelab.marketdata.domain.Issuer' not found. If you are using @TypeName annotation, remember to register this class using JaversBuilder.withPackagesToScan(String) or JaversBuilder.scanTypeName(Class)
at org.javers.core.metamodel.type.TypeMapperState.getClassByDuckType(TypeMapperState.java:70) ~[javers-core-3.11.5.jar:na]
at org.javers.core.metamodel.type.TypeMapperState.getClassByTypeName(TypeMapperState.java:42) ~[javers-core-3.11.5.jar:na]
at org.javers.core.metamodel.type.TypeMapper.getJaversManagedType(TypeMapper.java:168) ~[javers-core-3.11.5.jar:na]
at org.javers.core.json.typeadapter.commit.GlobalIdTypeAdapter.parseEntity(GlobalIdTypeAdapter.java:117) ~[javers-core-3.11.5.jar:na]
at org.javers.core.json.typeadapter.commit.GlobalIdTypeAdapter.parseInstanceId(GlobalIdTypeAdapter.java:59) ~[javers-core-3.11.5.jar:na]
at org.javers.core.json.typeadapter.commit.GlobalIdTypeAdapter.fromJson(GlobalIdTypeAdapter.java:36) ~[javers-core-3.11.5.jar:na]
at org.javers.core.json.typeadapter.commit.GlobalIdTypeAdapter.fromJson(GlobalIdTypeAdapter.java:15) ~[javers-core-3.11.5.jar:na]
at org.javers.core.json.JsonConverterBuilder.lambda$registerJsonTypeAdapterForType$4(JsonConverterBuilder.java:168) ~[javers-core-3.11.5.jar:na]
....
I am wondering how should we proceed in this case without cleaning up massive amount of json snapshots? I also quickly browsed in the javers source code, I could not find a place to configure ignoring removed fields..
Could you help us with some hints? Or do you need some examples to reproduce?
Many thanks!
Chengchen