1

My requirement is that For application audit purposes i want to compare two BO objects and return a obj diff as a Json string to store details into audit table.To compare objects i have chosen Javers. in my case i have implemented a hibernate interceptor that will monitor the BO actions.That part works fine.But when try to compare BO objects with Javers throw me a error called

ENTITY_INSTANCE_WITH_NULL_ID: Found Entity instance 'com.myproject.runtime.bo.Result_$$_jvstc5f_5' with null idProperty 'resultid'

Here is my sample hibernate Result class

class Result {

    @id //javax.persistence.Id
    resultid;
    name;
    etc ...
    }

Obj comparison code snippet

public static <B> String compareObjDiff(final B oldBo, final B newBo) {

        Javers javers = JaversBuilder.javers().build();

        Diff diff = javers.compare(oldBo, newBo);
        return javers.getJsonConverter().toJson(diff);
    }

Please let me know how can i compare hibernate BO objects using javers.also is it possible to ignore @id property?

Note:Bo object can contains null values in runtime.

gihan-maduranga
  • 4,381
  • 5
  • 41
  • 74

1 Answers1

2

I'm not sure what is Hibernate BO object. If you mean domain objects (entities being persisted by Hibernate) -- the answer is in this question Javers ENTITY_INSTANCE_WITH_NULL_ID when using 2 databases

Community
  • 1
  • 1
Bartek Walacik
  • 3,386
  • 1
  • 9
  • 14