次のシナリオでは、多対多の関連付けで、参加者がいるイベントのイベント(および人)のリストを取得するために、 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>
このようないくつかの試みは、次の例外を除いて失敗します。
getHibernateTemplate().find("from Event event where event.participants != null");
org.springframework.dao.InvalidDataAccessResourceUsageExceptionなどネストされた例外はorg.hibernate.exception.SQLGrammarExceptionです:クエリなどを実行できませんでした
ありがとう!