你能告诉我是否有可能用几个新对象创建一个JPQL
像这样:
选择新的QueryOfSelectionList(新参数(q1,q1t),新参数(q2,q2t))
从...
我成功做到了:新建QueryOfSelectionList(q1,q1t,q2,q2t)
但我不喜欢,因为我会增加参数的数量,并可能会构造多个参数(q1,q1t或q1)。
我尝试了示例,但我有:异常:org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:新
此异常适用于新的param(q1,q1t)。
感谢帮助。
基督教
最佳答案
在http://docs.oracle.com/cd/E12839_01/apirefs.1111/e13946/ejb3_langref.html发布的文档中,我们看到:
以下是构造函数表达式的语法:
Constructor_expression :: = NEW Constructor_name(Constructor_item {,
builder_item} *)
进一步说:
SELECT列表中可以使用构造函数来返回一个或多个
Java实例。指定的类不必是实体或
映射到数据库。构造函数名称必须完整
合格。
一个例子是:
选择新的com.company.PublisherInfo(pub.id,pub.revenue,mag.price)
从出版商发布会JOIN发布商发布杂志mag在哪里mag.price> 5.00
因此,不可能使用Select new QueryOfSelectionList ( new param(q1, q1t), new param(q2, q2t) ) From
这样的表达式。希望这可以帮助。