0

私は2つのテーブルを持っています(外部なので変更できません)。テーブルには、 @OneTo* 注釈なしで、論理関係 (一方が他方の参照 ID を持っている) のみがあります。

Hibernate Search がこの関連オブジェクトにインデックスを付けることは可能ですか?

コードサンプル:

@Entity
@Indexed
@Table(name = "E1")
public class E1 implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "ID")
    private Long id;

    @Column(name = "NAME", length = 32, nullable = false)
    private String name;

    @Column(name = "E2_FK", nullable = false)
    @IndexedEmbedded    // ???? 
    private Long e2Id;
}

@Entity
@Table(name = "E2")
public class E2 implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "ID")
    private Long id;

    @Column(name = "DESCRIPTION", length = 4000, nullable = false)
    @Field
    private String description;
}
4

1 に答える 1

1

いいえ、この場合、Hibernate Search は関連付けられたオブジェクトをインデックス化できません。それについて何も知りません。マッピングには、e2Id が別のエンティティへの主キーである Hibernate (検索) へのポインターが含まれていません。@IndexedEmbeddedは関連エンティティ用です。

この本当の連想を作ってみませんか。それが懸念事項の1つである場合に備えて、デフォルトで遅延ロードすることができます。

于 2013-05-17T08:07:55.977 に答える