2016-06-22 27 views
0

你能告訴我,如果有可能做出選擇JPQL有幾個新的對象 這樣的:JPA:與選擇JPQL幾個新

選擇新QueryOfSelectionList(新參數(Q1,q1t),新的參數(Q2 ,q2t)) 從...

我做成功是這樣的:新QueryOfSelectionList(Q1,q1t,Q2,q2t) ,但我不喜歡,因爲我會增加則params的數量,有幾個可能的構造函數(q1,q1t或q1)。

我試過的例子,但我有:異常:org.hibernate.hql.internal.ast.QuerySyntaxException:意外的標記:新

這個例外是新的參數(Q1,q1t)的。

感謝您的幫助。

基督教

回答

2

。在http://docs.oracle.com/cd/E12839_01/apirefs.1111/e13946/ejb3_langref.html公佈的文件中,我們看到:

以下是構造函數表達式的語法:

constructor_expression :: = NEW constructor_name(constructor_item {, constructor_item } *)

此外,它是s援助:

一個構造函數可以在SELECT列表中用來返回一個或多個 Java實例。指定的類不需要是要映射到數據庫的實體或 。構造函數名稱必須完全符合 。

一個例子是:

SELECT NEW com.company.PublisherInfo(pub.id,pub.revenue,mag.price) 從Publisher酒館JOIN pub.magazines MAG WHERE mag.price> 5.00

因此不可能使用像Select new QueryOfSelectionList (new param(q1, q1t), new param(q2, q2t)) From這樣的表達式。希望這可以幫助。