有没有类似Hibernate的AliasToBeanResultTransformer for JPA?

时间:2016-09-23 15:25:04

标签: java jpa

我正在寻找一种JPA方式将查询结果注入Java Bean,如Hibernate' AliasToBeanResultTransformer

  

结果变换器,允许将结果转换为用户指定的类,该类将通过setter方法或与别名相匹配的字段填充。
  

List resultWithAliasedBean = s.createCriteria(Enrolment.class)
                   .createAlias("student", "st")
                   .createAlias("course", "co")
                   .setProjection( Projections.projectionList()
                       .add( Projections.property("co.description"), "courseDescription" )
                   )
                   .setResultTransformer( new AliasToBeanResultTransformer(StudentDTO.class) )
                   .list();

StudentDTO dto = (StudentDTO)resultWithAliasedBean.get(0);

我发现JPA' CriteriaQuery#multiselect有一个用户定义的类,但它需要一个非默认的构造函数:

  
      
  • 如果条件查询的类型是某些用户定义的类X的CriteriaQuery(即,通过将X类参数传递给createQuery方法创建的条件查询对象),则multiselect方法的参数将传递给将为每一行返回X构造函数和类型X的实例。
  •   

我找到了JPA' CriteriaBuilder#construct,但它还需要一个非默认构造函数:

  

创建与构造函数对应的选择项。此方法用于指定将应用于查询执行结果的构造函数。

有没有非默认构造函数的另一种方法吗?

0 个答案:

没有答案