2つのエンティティがあります。会議とトピック (対応する表は会議とトピックです)
1つの会議に一連のトピックが含まれる場合。
テーブル構造の例は次のとおりです。
私のJavaコードMeeting
クラスでは、次の宣言があります。
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "MeetingTopics",
joinColumns = {
@JoinColumn(name = "meetingId")},
inverseJoinColumns = {
@JoinColumn(name = "topicId")})
@Expose
private Set<Topic> topicsList;
someTopicField
トピックが特定の値に等しい会議のリスト(トピックが含まれている)を取得したいのですが、11
必要なものを取得するためのSQL式は次のようになります。
SELECT meetings.meetingcomment,
topics.topicsubject,
topics.sometopicfield
FROM topics
INNER JOIN (meetings
INNER JOIN meetingtopics
ON meetings.meetingid = meetingtopics.meetingid)
ON topics.topicid = meetingtopics.topicid
WHERE ( topics.sometopicfield = 11 );
しかし、私はこのタスクを解決するためにHQL式を使用したいと思います、そして私はそれを理解しませんでした、どうすればそれを行うことができますか。
私はこのドキュメントを読みましたが、それらの例を私の質問に適用する方法を理解していませんでした。
上記のSQLと同じようにHQL式はどのように機能しますか?
ありがとうございました。