2017-07-15 8 views
1

プライマリキーも埋め込み可能なキーもないテーブルがあります(テーブルを使用してデータを一意に表現するために2つのカラムを結合します)。JPAまたはJPQLを使用してプライマリキー列を持たないエンティティからレコードをフェッチする方法

どのようにして、特定の1つの列に基づいてそのテーブルからすべてのレコードをフェッチできますか?

Select * from player where city = 'MUMBAI' 

プレーヤテーブルからすべてのレコードをフェッチしたいが、主キーはなく、都市はムンバイだ。 このためにJPAまたはJPQLを書いています。

+2

2つの列で行が一意に識別され、その値を変更するつもりがない場合は、複合IDにします。しかし、正しいことをして、テーブルに自動生成されたPKを追加する方がよいでしょう。 –

+0

JPQL: 'pをplayer pから選択します.p.city = 'MUMBAI'; – fg78nc

答えて

0

テーブルを照会するのにPKは必要ありません。

Query q = em.createNativeQuery("Select * from player where city = 'MUMBAI'"); 
List<Object[]> players = q.getResultList(); 
+0

JPAのCURDRepositoryを使って同じことをしたいのであれば、どのように動作するのですか? –

+0

質問が異なる場合は、新しい質問を投稿してください – OldProgrammer

関連する問題