这是你如何与JPQL做到这一点对JPA:
String queryString = "select p.name, t.points from Tournament t," +
" Player p where t.player_id=p.id " +
"and t.id= :id_tournament";
Query query = this.entityManager.createQuery(queryString);
query.setParameter("id_tournament", 1);
List results = query.getResultList();
有关JPQL查询的更多信息,请参见JPA Query Structure (JPQL/Criteria)。
这是浩,你可以使用HQL对Hibernate它做什么,这些都是做这件事的方法有两种:
String hql = "SELECT p.name, t.points from Player p,Tournament t WHERE t.id= '1' And p.id=t.player_id";
Query query = session.createQuery(hql);
List results = query.list();
或者使用query.setParameter()
方法是这样的:
String hql = "SELECT p.name, t.points from Player p,Tournament t WHERE t.id= :tournament_id And p.id=t.player_id";
Query query = session.createQuery(hql);
query.setParameter("tournament_id",1);
List results = query.list();
有关HQL的更多信息,您可以查看此HQL Tutorial查询。
注:
在这两种情况下,你会得到对象的数组List<Object[]>
的一个列表,其中元素一个array[0]
是p.name
,第二个是t.points
。
那么'列表 findDayPlayedByGameIdAndDayPlayedGreaterThan(Long gameId,Integer gameDayCycle);'工作? –
skozlov
不,我想要从daybonus表中得到dayPlayed列的整数列表,但是dailybonus对象的上述返回列表 – ratnesh
如果我没有错,上面的查询也是JPQL查询。 –