0

我有两个表(外部的,所以我不能修改它)。表仅具有逻辑关系(一个具有其他参考 ID),没有 @OneTo* 注释。

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 是另一个实体的主键。@IndexedEmbedded用于关联实体。

你为什么不做这个真正的联想。您可以默认情况下延迟加载它们,以防这是您的顾虑之一。

于 2013-05-17T08:07:55.977 回答