2012-03-14 6 views
1

JPA2とHibernate 3.6をプロバイダとして使用します。JPAがクエリでインスタンス化

私はこのようないくつかのコードを持っている:

final List<Object[]> result = entityManager.createQuery("SELECT qt, tt FROM ...").getResultList(); 

私はQTとTTのエンティティが含まれているSimpleClassのリストに[]オブジェクトのリストを変換するコンバータを、持っています。

JPA 2でこれを行うことはできますか? (LinqでC#で可能です)

final List<SimpleClass> result = entityManager.createQuery("SELECT new SimpleClass(qt, tt) FROM ...").getResultList(); 

ありがとうございました。

+1

http://stackoverflow.com/questions/2355728/jpql-create-new-object -in-select-statement-avoid-or-embrace – landal79

+0

うーん、面白い質問。私は最初に@MappedSuperclassをラッパーとして使用することを考えましたが、それに対して照会することはできません。私は良い古い構成がバックドアとして動作すると思います。 – JMelnik

+0

@ landal79これはまさに私が検索したものです。私はフィードバックを試みます。ありがとうございます。 –

答えて

0

あなたのエンティティをマッピングしている場合は、あなたが行うことができるはず:

List<SimpleClass> result = entityManager 
    .createQuery("select s from SimpleClass s", SimpleClass.class) 
    .getResultList(); 
あなたはこの関連の答えを見ることができます
+0

SimpleClassは、 2つの他のエンティティを含むラッパー。 –

+0

'.__。'おそらく、2つの 'JPQL'クエリを実行し、その結果を' SimpleClass'インスタンスで組み合わせる必要があります。その場合は、ORマッピングを無料で利用できます。 – beerbajay

+0

これは関連する質問/回答です:http://stackoverflow.com/questions/2355728/jpql-create-new-object-in-select-statement-avoid-or-embrace –