Hibernate子查询 - MAX

时间:2016-03-20 20:56:24

标签: java sql hibernate

我在使用Hibernate创建子查询时遇到问题。 假设我们有这样的查询(我们想选择包含最古老的老虎的动物园):

 SELECT * FROM zoo LEFT JOIN animals 
 ON animals.zoo_id = zoo.id
 WHERE animals.species = 'tigers' AND 
 animals.age = (SELECT max(age) FROM animals WHERE animals.species = 'tigers')

在Hibernate中,它看起来像这样:

    session.createCriteria(Zoo.class) 
    .createAlias("animals", "a") 
    .add(eq("a.species", "tigers"))
    .add(eq("a.age", ?); 

但遗憾的是我不知道如何设置子查询:

(SELECT max(age) FROM animals WHERE animals.species = 'tigers')

0 个答案:

没有答案