2017-07-15 93 views
1

我有没有主键或可嵌入键的表(没有主键或可嵌入键组合两列以表示唯一的表)。如何使用JPA或JPQL从没有主键列的实体获取记录

那么我怎样才能从该表中获取所有记录基于一个特定的列?

Select * from player where city = 'MUMBAI' 

我想从玩家表中获取所有记录,但它没有主键,城市是孟买。 我想为此编写JPA或JPQL。

+2

如果您的两列唯一标识该行,并且您不打算修改其值,则将它们设为复合ID。但是,你最好做正确的事情,并添加一个自动生成的PK到你的表中。 –

+0

JPQL:'从玩家p选择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