Hibernate:在String属性上投影到布尔值

时间:2017-04-25 11:09:07

标签: hibernate criteria projection hibernate-criteria resulttransformer

我使用“投标”列表来使用“投标”请求来返回自定义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表上的Nullable String列(实际上是图片名称)。

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

PictureName!= null - > dto.hasPicture = true

PictureName == null - > dto.hasPicture = false

这可能吗?怎么样?

1 个答案:

答案 0 :(得分:0)

你可以在你的hasPicture功能中进行检查。

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

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