16. Native SQL查询 / 16.1. 使用SQLQuery / 16.1.5. 返回非受管实体(Returning non-managed entities)

可以对原生sql 查询使用ResultTransformer。这会返回不受Hibernate管理的实体。

sess.createSQLQuery("SELECT NAME, BIRTHDATE FROM CATS")
        .setResultTransformer(Transformers.aliasToBean(CatDTO.class))

这个查询指定:

  • SQL查询字符串

  • 结果转换器(result transformer)

上面的查询将会返回CatDTO的列表,它将被实例化并且将NAME和BIRTHDAY的值注射入对应的属性或者字段。