Skip to content

How to get nested ValuObjects changes #216

Closed

Description

@floresek

Hi,

I have classes:

class Master {
    @Id
    String id;

    Detail detail;

    public Master(String id) {
        this.id = id;
    }
}

@ValueObject
class Detail {
    String data;
    Detail subdetail;

    public Detail(String data) {
        this.data = data;
    }
}

and test code:

        Master master = new Master("1");
        master.detail = new Detail("detail-1");
        master.detail.subdetail = new Detail("subdetail-1.1");
        master.detail.subdetail.subdetail = new Detail("subdetail-1.1.1");
        javers.commit("anonymous", master);

I know how to read first level ValueObject changes:

        List<Change> changes = javers
                .findChanges(QueryBuilder.byValueObjectId("1", Master.class, "detail")
                        .withNewObjectChanges(true)
                        .build());

but how to read second, third, ... - any level VO changes/snapshots?

f.e.

        List<Change> changes = javers
                .findChanges(QueryBuilder.byValueObjectId("1", Master.class, "detail/subdetail")
                        .withNewObjectChanges(true)
                        .build());

Activity

  1. bartoszwalacik commented on Oct 1, 2015

    @bartoszwalacik
    Member

    well, nested ValueObjects dont have a goood support yet :(

  2. bartoszwalacik commented on Feb 12, 2016

    @bartoszwalacik
    Member

    related to #220

  3. bartoszwalacik commented on Apr 13, 2016

    @bartoszwalacik
    Member

    example query

          def changes = javers.findChanges(QueryBuilder.byValueObjectId(1, DummyUserDetails,
                  "dummyAddress/networkAddress").build())
    
  4. bartoszwalacik commented on Apr 13, 2016

    @bartoszwalacik
    Member

    fixes merged to master, waiting for release

  5. bartoszwalacik commented on Apr 14, 2016

    @bartoszwalacik
    Member

    released in 1.6.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions