2014-07-23 159 views
0

我想通过一个参数来获得不同的值获得不同的值:通过休眠

@Transactional 
public List<data> getAllFromColumn(String identifier) { 

    List<data> resultList = em.createQuery("SELECT DISTINCT p.market FROM data p", Data.class).getResultList(); 

    return resultList; 
} 

我的问题是,这只是返回我NullPointerException。任何建议有什么不对,或者我能做什么改变?

我很感谢您的回答!

+1

你'em'设置?你确定查询是问题吗? – Jens

+0

@Jens EntityManager工作正常。已经证明,通过做其他更简单的查询。 – mrquad

+1

[http://stackoverflow.com/questions/300491/how-to-get-distinct-results-in-hibernate-with-joins-and-row-based-limiting-pagi]这可能会帮助你 – subodh

回答

1

如果HQL不支持select distinct(它似乎并没有根据语法),你可以使用group by做到这一点:

SELECT p.market 
FROM data p 
GROUP BY p.market; 
+0

只读一些关于标准生成器的内容。任何有关将其纳入标准生成器的建议?什么是语法?感谢您的回复! – mrquad

+1

@Vivien。 。 。我的专长是SQL,而不是Hibernate。在这种情况下,可以使用'group by'将查询转换为等效的有效查询。 –