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
     }

Другой способ - написать свой собственный логический тип и использовать его в своих сопоставлениях.

Другие вопросы по тегам