Hibernate Search中的@IndexedEmbedded和@ContainedIn

Hibernae Search中的@IndexedEmbedded和@ContainedIn应当是成对出现的一对注解。

1. @IndexedEmbedded指定在主业务实体的索引中包含关联业务实体的搜索内容,可以通过搜索关联业务实体的内容得到主业务实体的查询结果。

2. @ContainedIn指定更新关联实体时同时更新主业务实体中索引的内容,如果不指定@ContainedIn会导致关联实体内容修改后得到错误的搜索结果。

3. @IndexedEmbedded和@ContainedIn可以同时出现在一个属性上,意味着其关联的业务实体对应的属性上也应当同时出现这两个注解。

4. 应注意在@IndexedEmbedded上设置depth,避免创建关联索引进入死循环。

参考资料:

https://forum.hibernate.org/viewtopic.php?p=2368543&sid=9256511c5993f7e76b28cc4a46017ac7

猜你喜欢

转载自jnoee.iteye.com/blog/1204306