Hibernate
クエリを作成して、特定のIDのエンティティを取得しようとしています。このエンティティは別のエンティティのコレクションを持っていますが、私は唯一のコレクションを移入するために非削除エンティティを取得したい:これはなぜ左の結合フェッチがエントリを取得しないのですか?
トップレベルのエンティティ:
@Entity
@Table(name="rss_feed_definition")
public class RSSFeedDefinition extends BaseEntity {
[...]
@OneToMany(mappedBy="rssFeedDefinitionId")
private Collection<RSSFeedProperty> rssFeedProperties;
[...]
とHQL:
em.createQuery("from RSSFeedDefinition definition left join fetch definition.rssFeedProperties property where property.deleted = false and definition.id = :id");
を
RSSFeedDefinitionが返されないのはなぜですか?(これは削除済みのフラグがtrueです)
あなたの 'where'句が結合されたテーブルをフィルタリングするためです。その条件を 'left join'に含める必要があります。 –
申し訳ありませんが、エラーが表示されません。 – crm