Hibernate: проекция на логическое значение для свойства String
Я использую запрос Criteria, используя список прогнозов, чтобы вернуть пользовательский DTO. На данный момент у меня есть два прогноза по свойствам:
criteria.setProjection(
Projections.projectionList
.add(Projections.property("Employee.id"), "id")
.add(Projections.property("Employee.name"), "name"))
.setResultTransformer(Transformers.aliasToBean(EmployeeDto.class));
В моем EmployeeDto у меня есть логическое свойство hasPicture. Эта информация - столбец Nullable String (имя, если на самом деле изображение) в моей таблице Employee.
Меня не волнует само название, я хотел бы добавить новую проекцию, которая выполняет следующие действия:
PictureName! = Null -> dto.hasPicture = true
PictureName == null -> dto.hasPicture = false
Это возможно? Как?
1 ответ
Решение
Вы можете сделать эту проверку в вашей функции hasPicture.
public Boolean hasPicuture(){
if (this.picture == null)
return false
return this.picture
}
Другой способ - написать свой собственный логический тип и использовать его в своих сопоставлениях.