Hibernate:投影到字符串上的布尔值 属性

Hibernate : Projection to boolean on a String property

我使用使用投影列表的标准请求 return 自定义 DTO。现在我对属性有两个预测:

criteria.setProjection(
   Projections.projectionList
      .add(Projections.property("Employee.id"), "id")
      .add(Projections.property("Employee.name"), "name"))
   .setResultTransformer(Transformers.aliasToBean(EmployeeDto.class));

在我的 EmployeeDto 中,我有一个布尔值 属性 "hasPicture"。此信息是我的 Employee table.

上的 Nullable String 列(如果是图片,则为名称)

我不在乎名称本身,我想添加一个新的投影来执行以下操作:

PictureName != null --> dto.hasPicture = true

PictureName == null --> dto.hasPicture = false

这可能吗?怎么样?

您可以在 hasPicture 函数中执行此检查。

  public Boolean hasPicuture(){
     if (this.picture == null)
      return false 
    return this.picture
     }

另一种方法是编写您自己的布尔类型并在您的映射中使用它。