2016-12-15 7 views
0

以前のJPQL NamedQueriesを使用して、1つのdb-table Aから値を取得し、次のようなコンストラクタ式を使用してPartsOfAに入れました。SELECT new ... PartsOfA(a.member) Aからどこに...CriteriaQueryを使用したTypedQueryのコンストラクタ式

今私は、CriteriaQueryを使用して作成されるTypedQueryで同じことをしようとしています。

それは可能ですか?はいの場合、どうですか?

答えて

1

はいできます。

例:

TransferObject:http://www.thejavageek.com/2014/04/27/multiselect-criteria-api/

から

public class BasicTeacherInfo { 

    private String firstName; 
    private String lastName; 

    public BasicTeacherInfo(String firstName, String lastName) { 
     this.firstName = firstName; 
     this.lastName = lastName; 
    } 

    public String getFirstName() { 
     return firstName; 
    } 

    public String getLastName() { 
     return lastName; 
    } 

} 

クエリ

CriteriaQuery<BasicTeacherInfo> query = cb.createQuery(BasicTeacherInfo.class); 
Root<Teacher> teacher = query.from(Teacher.class); 
     query.multiselect(teacher.get("firstName"),teacher.get("lastName")); 

List<BasicTeacherInfo> results = em.createQuery(query).getResultList(); 

for (BasicTeacherInfo info : results) { 
    System.out.println("First name = " + info.getFirstName() + " " 
     + "Last Name = " + info.getLastName()); 
} 

ところで、あなたは悪用するようです。TypedQuery word。条件クエリはTypedQueryではありません。 TypedQuery<T>はタイプです。名前付きクエリ。

+0

これはまさに私が探していたものです。どうもありがとう! – user3218708

+0

@ user3218708:ようこそ!この場合、受け入れられた回答としてマークしてください! – badera

+0

Merci!私は今それをやった。 – user3218708

関連する問題