-1

我搜索了整个论坛;几乎每个答案都涉及到这一点,但没有帮助。我的 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();
    }

谢谢你。

4

1 回答 1

0

我不知道你想要什么结果。

在您的 HQL 中选择

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

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

如果你想要一个供应商列表,列表中没有供应商两次,那么你需要这个选择

"select distinct v.vendor from RwTac v order by v.vendor"
于 2012-11-01T13:22:52.583 回答