Hi, I am using Couchbase 5.0 community edition and Java SDK 2.5.3 (currently latest versions). My application has a complex model, so I used inheritance in all my domain classes. Therefore, for example, my @Id annotations are always in super classes. When I want to work with Document Entities I use bucket.repository.insert(…) and I get exception RepositoryMappingException => “The @Id field cannot be null or empty.” which totally surprised me. Following the source code I discovered that annotations are searched in class com.couchbase.client.java.repository.mapping.ReflectionBasedEntityMetadata line: 37 => sourceEntity.getDeclaredFields() and that method, as documentation says, excludes inherited fields.
If this is intended behaviour, is there any way I can use Document Entities and inheritance in domain model together? Or do you consider it a bug too?