這是你如何與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查詢。 –