嵌套构造函数查询

嵌套构造函数查询

问题描述:

当我尝试与我的custum DTO嵌套构造函数的查询。嵌套构造函数查询

select new DTO.foo (new DTO.boo(...) , new DTO.boo(...)) from Foo 

我得到这个错误:

org.hibernate.hql.internal.ast.QuerySyntaxException: 
unexpected token: new near line 1, column 23 [ select new DTO.foo (new DTO.boo(...) , ..... 

SOLUTION
既然我们不能有一个构造函数内的构造,因为它是在JPQL非法我们按照在这里同样的方法解决此问题: https://*.com/a/12742926/1383538

+0

您可以添加由日志 –

+0

提出的查询,它是一个'QuerySyntaxException',因此没有生成冬眠查询 – Youssef

这是非法的JPQL,根据JPQL BNF表示法

constructor_expression ::= NEW constructor_name (constructor_item {, constructor_item}*) 
constructor_item ::= single_valued_path_expression | scalar_expression | aggregate_expression | 
    identification_variable 

你不能有一个构造函数内的构造(即constructor_item不能是constructor_expression)。请参阅JPA规范

+0

谢谢你,所以我必须找到另一种方式吗? – Youssef