Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
Spring 多对多关联上的getHibernateTemplate().find()_Spring_Hibernate - Fatal编程技术网

Spring 多对多关联上的getHibernateTemplate().find()

Spring 多对多关联上的getHibernateTemplate().find(),spring,hibernate,Spring,Hibernate,在下面的场景中,对于多对多关联,传递给getHibernateTemplate().find()方法的正确查询是什么,以便获取具有参与者的事件的事件(和人员)列表 _____________ __________________ | | | | _____________ | EVENTS | | PERSON_EVENT | |

在下面的场景中,对于多对多关联,传递给getHibernateTemplate().find()方法的正确查询是什么,以便获取具有参与者的事件的事件(和人员)列表

    _____________        __________________
   |             |      |                  |       _____________
   |   EVENTS    |      |   PERSON_EVENT   |      |             |
   |_____________|      |__________________|      |    PERSON   |
   |             |      |                  |      |_____________|
   | *EVENT_ID   | <--> | *EVENT_ID        |      |             |
   |  EVENT_DATE |      | *PERSON_ID       | <--> | *PERSON_ID  |
   |  TITLE      |      |__________________|      |  AGE        |
   |_____________|                                |  FIRSTNAME  |
                                                  |  LASTNAME   |
                                                  |_____________|



<class name="Event" table="EVENTS">
    <id name="id" column="EVENT_ID">
        <generator class="native"/>
    </id>   
    <property name="date" type="timestamp" column="EVENT_DATE"/>
    <property name="title"/>

    <set name="participants" table="PERSON_EVENT">
        <key column="EVENT_ID"/>
        <many-to-many column="PERSON_ID" class="Person"/>
    </set>      
</class>


<class name="Person" table="PERSON">
    <id name="id" column="PERSON_ID">
        <generator class="native"/>
    </id>
    <property name="age"/>
    <property name="firstname"/>
    <property name="lastname"/>

    <set name="events" table="PERSON_EVENT" inverse="true">
        <key column="PERSON_ID"/>
        <many-to-many column="EVENT_ID" class="Event"/>
    </set>

</class>
org.springframework.dao.InvalidDataAccessResourceUsageException等 嵌套异常为org.hibernate.exception.sqlgrammareexception:无法执行查询 等等


谢谢

您可以使用以下查询获得相同的结果


来自Event Event,Event.participants不是空的

Ram Reddy建议的查询工作,但我需要添加lazy=“false”:


getHibernateTemplate().find("from Event event where event.participants != null");
<set name="participants" table="PERSON_EVENT" lazy="false">
        <key column="EVENT_ID"/>
        <many-to-many column="PERSON_ID" class="Person"/>
</set>