see on GitHub

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.


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.


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

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