With latest ‘Recursive comparison api improvements’ from AssertJ release 3.12.0
it’s possible now to do a recursive comparison and ignore fields:
Assertions.assertThat(objActual)
.usingRecursiveComparison()
.ignoringFields("uniqueId", "otherId")
.ignoringFieldsMatchingRegexes(".*someId")
.ignoringOverriddenEqualsForTypes(MyData.class, MyDataItem.class)
.isEqualTo(objExpected);