Select 在HQL请求中选择distinct join

Select 在HQL请求中选择distinct join,select,join,hql,distinct,Select,Join,Hql,Distinct,我在HQL中有一个有点复杂的请求要做,我无法获得我想要的结果 以下是我想做的: 我有两个实体t1和t2,两者之间有一个单一的关系。 我想在同一个请求中从两个表中选择一些信息,但问题是,我不想要任何重复的t1 基本上我想要4个属性,3个来自t1,1个来自t2,但由于同一个t1对象有几个来自t2的记录,我只想得到来自t2的第一个属性,使其没有任何t1重复记录 以下是我所做的: 从t1左连接t2中选择DISTINCTt1.a、t1.b、t1.c、t2.z 但很明显,当我不需要任何t2参数时,这是有效的

我在HQL中有一个有点复杂的请求要做,我无法获得我想要的结果

以下是我想做的:

我有两个实体t1和t2,两者之间有一个单一的关系。 我想在同一个请求中从两个表中选择一些信息,但问题是,我不想要任何重复的t1

基本上我想要4个属性,3个来自t1,1个来自t2,但由于同一个t1对象有几个来自t2的记录,我只想得到来自t2的第一个属性,使其没有任何t1重复记录

以下是我所做的: 从t1左连接t2中选择DISTINCTt1.a、t1.b、t1.c、t2.z

但很明显,当我不需要任何t2参数时,这是有效的,但现在我有一些记录a,b,c为不同的t2.z复制

我在HQL中找不到任何方法可以做到这一点,我不能做任何可以在SQL中工作的Select LIMIT 1

有人知道如何解决这个问题吗


谢谢

我在Grails上使用hibernate时遇到了同样的问题,这对我很有帮助:resultTransformer org.hibernate.Criteria.DISTINCT\u ROOT\u entity问题是我们现在还没有使用Criteria。我们正在迁移到它,但目前我们正在使用google genericdao