Hibernate запрос нечувствительного к регистру enum Mapping Criterian query - PullRequest
0 голосов
/ 26 января 2019

Я получил сущность с пол столбца.Пол может быть «MALE» или «мужской» в базе данных.Вот мой код Entity, Dao для запроса базы данных с использованием Hibernate.

public class Patient {

    @Column(name = "gender")
    private Gender gender;

   //Setters Getters
}


//ENUM
public enum Gender {

    MALE("MALE"), FEMALE("FEMALE");

    private final String value;

    Gender(String value) {
        this.value = value;
    }
}


//Criteria Query

    public List<Patient> findByName(String name) {
        try {
            Criteria criteria = getSession().createCriteria(Patient.class);
            criteria.add(Restrictions.sqlRestriction("REPLACE(LOWER(name),' ', '') = ?", name, StandardBasicTypes.STRING));
            return criteria.list(); // Exception here
        } catch (HibernateException e) {
            e.printStackTrace();
        }
}

Это работает для 'MALE', но не работает для 'male' с ошибкой 'Неизвестное значение имени [male] для перечисляемого класса [Пол]".Я хочу, чтобы отображение не учитывало регистр, возможно ли это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...