/ / Як зберегти FieldNamingStrategy у spring-data-mongo - spring, mongodb, spring-boot

Як налаштовувати FieldNamingStrategy навесні-дані-монго - весна, монгоб, весна-черевик

У Spring-data-mongo, чи можна ще розширити функцію цього інтерфейсу?

Що я хочу - це збереження CamelCaseToUnderline у ​​mongodb та запит на UnderlineToCamelCase.

Я бачу вихідний код частини, у нього є остаточний FieldNamingStrategy.if, якщо я хочу його коштовнувати, він повинен перед створенням екземпляра, як?

public class BasicMongoPersistentProperty extends AnnotationBasedPersistentProperty<MongoPersistentProperty> implements MongoPersistentProperty {
....
private final FieldNamingStrategy fieldNamingStrategy;

public BasicMongoPersistentProperty(Field field, PropertyDescriptor propertyDescriptor, MongoPersistentEntity<?> owner, SimpleTypeHolder simpleTypeHolder, FieldNamingStrategy fieldNamingStrategy) {

super(field, propertyDescriptor, owner, simpleTypeHolder);
this.fieldNamingStrategy = fieldNamingStrategy == null ? PropertyNameFieldNamingStrategy.INSTANCE : fieldNamingStrategy;

if (isIdProperty() && getFieldName() != ID_FIELD_NAME) {
LOG.warn("Customizing field name for id property not allowed! Custom name will not be considered!");
}
}
...
}

Відповіді:

0 для відповіді № 1

Привіт це від додатка до весняного завантаження

# MONGODB (MongoProperties)
spring.data.mongodb.field-naming-strategy= # Fully qualified name of the FieldNamingStrategy to use

Ви отримали наступні стратегії з коробки

CamelCaseSplittingFieldNamingStrategy
CamelCaseAbbreviatingFieldNamingStrategy
SnakeCaseFieldNamingStrategy

Якщо вони не відповідають вашим потребам, сміливо розширюйте їх