Session: How to Customize the Identity Property Lookup for Entities

The client must know which property of your entity is considered as an identity. By default, it always looks for the id field (case-sensitive). This behavior can be changed by overwriting one of our conventions called findIdentityProperty.

Syntax

public void setFindIdentityProperty(Function<PropertyDescriptor, Boolean> findIdentityProperty);

PropertyDescriptor will represent the property of a stored entity, and return value (bool) will indicate if given member is an identity property.

Example

The simplest example would be to check if the property name is equal to 'Identifier'.

store.getConventions().setFindIdentityProperty(property -> "Identifier".equals(property.getName()));