0

すべてのヘルプ/コメントを歓迎します

@OneToMany 関係があります。TVenue と TVenueItem Venue のさまざまなフィールドで検索できるようにしたいので、@Indexed を付けました。私のセットアップは次のとおりです。

@Indexed
@Entity
public class TVenue  implements java.io.Serializable {

    private Set<TVenueItem> TVenueItems = new HashSet<TVenueItem>(0);

    .......
    @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="TVenue")
    public Set<TVenueItem> getTVenueItems() {
        return this.TVenueItems;
    }
    ...........

@Entity
public class TVenueItem  implements java.io.Serializable {

    private String name;
    private TVenue TVenue;

    ...........
    @ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="venue_id", nullable=false)
    public TVenue getTVenue() {
        return this.TVenue;
    }

    @Field
    @Column(name="_name", nullable=false, length=100)
    public String getName() {
        return this.name;
    }
    .......

これまでのところ問題はありません。

ここで、完全に独立して、TVenueItem のフィールドを検索したいので、@Indexed としてもマークします。

問題: @Indexed を TVenueItem に追加するとすぐに、(手動の) インデックス作成が永遠にハングアップするか、または無限再帰が原因と考えられます。

この問題を回避する方法を知っている人はいますか?TVenue が所有エンティティであり、TVenueItem の操作は TVenue から実行できることを理解しています。ただし、関係なく、TVenueItem を個別に検索できるようにしたいと考えています。

どうもありがとう

J

4

1 に答える 1