HQL DISTINCT不起作用

时间:2012-11-01 00:30:58

标签: java hibernate hql dao

我在整个论坛上搜索过;几乎所有的答案都来到这个但没有帮助。 我在我的DAO中有以下查询,但它不起作用,我不明白为什么?

这是我的完整方法:

public List<RwTac> findAll(){
        String sql = "select distinct v from RwTac v " +
                     "order by v.vendor" ;
        Query query = sessionFactory.getCurrentSession().createQuery(sql);
        return query.list();
    }

谢谢。

1 个答案:

答案 0 :(得分:0)

我不确切知道你想要的结果。

在您的HQL选择

"select distinct v from RwTac v order by v.vendor"

您将获得至少有一列不同的所有行 - 在大多数情况下,这将是该表的所有行(除非您的表没有唯一键并且它具有完整的双精度)。< / p>

如果您想拥有供应商列表,列表中没有供应商两次,那么您需要选择

"select distinct v.vendor from RwTac v order by v.vendor"