Skip to content

For repositories defined with interface/abstract entity class, only fields in abstract/entity class are projected #1365

Closed
@mikereiche

Description

@mikereiche

For repositories defined with interface/abstract entity class, only fields in abstract/entity class are projected.

To ensure that all the fields for the (unknown at that point) concrete class are projected, then '*' should be projected.
StringBasedN1qlQueryParser:

String projectedFields = i(b) + ".*";
if (resultClass != null  && !Modifier.isAbstract(resultClass.getModifiers()) /* for both interfaces and abstract classes */) {

Also - getFieldName() can be better by returning getName() in the event it cannot access 'field' for the fieldName (which can happen in abstract classes and interfaces).

BaseCouchbasePersistentProperty:
if(getField() == null){ // punt
return fieldName = getName();
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions