我有两个表(外部,所以我不能修改它)。表具有逻辑关系(一个具有其他参考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;
}
答案 0 :(得分:1)
不,在这种情况下,Hibernate Search不会索引关联的对象。它对此一无所知。您的映射不包含任何Hibernate(搜索)指针,e2Id是另一个实体的主键。 @InededEmbedded 适用于关联实体。
你为什么不做这种真正的联想。如果您担心这一点,可以在默认情况下延迟加载它们。