我有一个具有性别列的实体。在数据库中,性别可以是“男”或“男”。这是我的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',错误为“枚举类[Gender]的未知名称值[male]”。我希望映射不区分大小写,可以吗?