2014-04-28 46 views
-1

我有两个表:研究和用户研究,研究有userResearches列表使用@OneToMany映射到userResearch。我试图执行一个简单的HQL查询为什么这个简单的hql查询不起作用?未分类SQLException

from Research r inner join r.userResearches ur where ur.user=:user 

,并得到此异常:

Hibernate operation: could not execute query; uncategorized SQLException for SQL [select...]; SQL state [24000]; error code [0]; Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY.; nested exception is org.postgresql.util.PSQLException: Operation requires a scrollable ResultSet, but this ResultSet is FORWARD_ONLY. 

什么能是什么原因? 实体映射正确,一切工作正常,我可以使用标准API检索两个实体。

@Entity 
public class UserResearch extends ManagedEntity { 

    @ManyToOne 
    @JoinColumn(name = "research_id") 
    private Research research; 

@Entity 
public class Research extends ManagedEntity { 

    @OneToMany(mappedBy = "research") 
    private Set<UserResearch> userResearches = new HashSet<UserResearch>(0); 
+0

您是否尝试过使用其他Collection接口,例如'List'?这个问题可能不在查询本身,因为它看起来很合理,但我不能把它放在手边。 – kostja

回答

0

好吧,我不知道具体的原因,但我重写使用的getSession()查询。的createQuery()和它开始工作,我用我们之前GenericDao它使用getHibernateTemplate。

+0

啊,那么泄漏的抽象可能:) – kostja

相关问题