Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java hibernate HQL元素错误_Java_Hibernate_Hql - Fatal编程技术网

Java hibernate HQL元素错误

Java hibernate HQL元素错误,java,hibernate,hql,Java,Hibernate,Hql,我的HibernateUserImpl映射如下所示 <set name="groups" table="OS_USER_GROUP" inverse="false" cascade="none" lazy="false"> <key column="user_id"/> <many-to-many column="group_id" class="com.opensymphony.user.provider.hibernate3.ahxu.impl.

我的HibernateUserImpl映射如下所示

<set name="groups" table="OS_USER_GROUP" inverse="false" cascade="none" lazy="false">
    <key column="user_id"/>
    <many-to-many column="group_id" class="com.opensymphony.user.provider.hibernate3.ahxu.impl.HibernateGroupImpl"/>
</set>
我得到了hibuser.groups.elements的错误。有什么我错过的吗

控制台中的错误

org.hibernate.hql.ast.QuerySyntaxException: hibuser.groups.elements is not mappe
d [select distinct hibuser from com.opensymphony.user.provider.hibernate3.ahxu.i
mpl.HibernateUserImpl hibuser, hibuser.groups.elements  hibgroup where hibuser.n
ame = ? and hibgroup.name = ?]

我认为你需要明确加入

hibuser.groups是一个集合,因此您无法访问集合元素的属性

这可以如下所示:

列表组=。。。; 组、元素
org.hibernate.hql.ast.QuerySyntaxException: hibuser.groups.elements is not mappe
d [select distinct hibuser from com.opensymphony.user.provider.hibernate3.ahxu.i
mpl.HibernateUserImpl hibuser, hibuser.groups.elements  hibgroup where hibuser.n
ame = ? and hibgroup.name = ?]
    select distinct hibuser 
    from HibernateUserImpl hibuser
    join hibuser.groups hibgroup 
    where hibuser.name = ? and hibgroup.name = ?
select element 
from HibernateUserImpl hibuser 
join hibuser.groups group 
join group.elements element 
where hibuser.name = ? and hibgroup.name = ? and element.whatever = something