アクティビティとメタエンティティのインデックスを作成しています:
アクティビティには次のフィールドが含まれます:
@Table(name = "activity")
@Indexed
public class Activity implements java.io.Serializable {
private Long id;
private Date timeStamp;
private User user;
/*index metaentity inside activity.*/
@IndexedEmbedded
private Metaentity metaentityByEntity;
}
メタエンティティ テーブルには、次のフィールドが含まれます。
public class Metaentity implements java.io.Serializable {
private Long id;
@IndexedEmbedded
private User userByOwner;
//when metaentity changes update activity entity inside the index
@ContainedIn
private Set<Activity> activitiesForProject = new HashSet<Activity>(0);
}
アクティビティでmetaentityByEntityにインデックスを付けたいのですが、インデックスを作成すると、メタエンティティのアクティビティ インデックスが空になります。なぜこの問題が発生するのかわかりません。
Metaentity クラスでSet of activitiesForProjectに @ContainedIn を指定したことが原因ですか?