I have been working on integrating Hibernate Search using the Standalone POJO Mapper in order to replace an old custom implementation.
Initially it is going well but I came up with an issue that it is related to the following ticket:
That question is almost 4 years old. So, my question here is the same, using Hibernate Search and having inheritance annotation configuration like the following:
public class Person { private final String value; @GenericField(searchable = Searchable.YES, projectable = Projectable.YES) public String getValue() { return value } }
public class PersonB extends Person { @GenericField(searchable = Searchable.NO, projectable = Projectable.NO, sortable = Sortable.NO, aggregable = Aggregable.NO public String getValue() { return super.getValue() } }
Now when I try to index PersonB
I am having a duplicated index error:
- HSEARCH400520: Duplicate index field definition: 'value'. Index field names must be unique. Look for two property mappings with the same field name, or two indexed-embeddeds with prefixes that lead to conflicting index field names, or two custom bridges declaring index fields with the same name. at org.hibernate.search.engine.reporting.spi.RootFailureCollector.checkNoFailure(RootFailureCollector.java:63) at org.hibernate.search.engine.common.impl.SearchIntegrationBuilder.prepareBuild(SearchIntegrationBuilder.java:181) at org.hibernate.search.mapper.pojo.standalone.bootstrap.impl.StandalonePojoIntegrationBooterImpl.doBootFirstPhase(StandalonePojoIntegrationBooterImpl.java:112) at org.hibernate.search.mapper.pojo.standalone.bootstrap.spi.StandalonePojoIntegrationBooterBehavior.bootFirstPhase(StandalonePojoIntegrationBooterBehavior.java:18) at org.hibernate.search.mapper.pojo.standalone.bootstrap.impl.StandalonePojoIntegrationBooterImpl.getPartialBuildStateOrDoBootFirstPhase(StandalonePojoIntegrationBooterImpl.java:84) at org.hibernate.search.mapper.pojo.standalone.bootstrap.impl.StandalonePojoIntegrationBooterImpl.boot(StandalonePojoIntegrationBooterImpl.java:133) at org.hibernate.search.mapper.pojo.standalone.bootstrap.impl.StandalonePojoIntegrationBooterImpl.boot(StandalonePojoIntegrationBooterImpl.java:38) at org.hibernate.search.mapper.pojo.standalone.mapping.SearchMappingBuilder.build(SearchMappingBuilder.java:96)
In summary:
- Is there a way that I am missing to make this inheritance configuration works?