Spring Data Mongodb Custom Converter: строковый тип - PullRequest
0 голосов
/ 06 марта 2020

У меня есть класс Document, подобный этому

class Customer{
   private String email
   private String name;
   private String phone;
   private Address address;
}

, при сохранении я хочу зашифровать поля телефона и адреса. Моя идея состоит в том, чтобы зашифровать эти поля и сохранить их как строку.

Чтобы преобразовать поле адреса в строковый тип, я написал конвертер, подобный этому

public class AddressWriterConverter implements Converter<Address, String> {

    @Override
    public String convert(Address address) {
        // Encrypt address and return encrypted string
    }
}

Я написал аналогичный конвертер для преобразования из строки в адрес.

public class AddressReaderConverter implements Converter<String, Address> {

    @Override
    public Address convert(String source) {

    }
}

Работает нормально. Но проблема теперь в телефонном поле, которое имеет тип String.

Если я напишу конвертер для преобразования из String в String, он зашифрует все поля String, такие как электронная почта, имя. Я хочу, чтобы только поле телефона было зашифровано. Есть ли какой-нибудь способ кроме создания выделенного класса для телефона?

...