Создайте аннотацию @Indexed, используя Jaxb или HyperJaxb
Я хочу реализовать в моем назначении поиск спящего режима на основе Lucene. Для создания доменных объектов я использую HyperJaxb3.
Я хочу, чтобы аннотация @Indexed была добавлена при создании объекта домена с использованием HyperJaxb.
Я попытался найти это, но не смог найти решения.
Любой указатель в этом отношении будет очень полезен.
1 ответ
Решение
Плагин Annotate - правильный ответ. Смотрите этот пример.
Вот как это выглядит в схеме:
....
xmlns:hs="http://annox.dev.java.net/org.hibernate.search.annotations"
...
<xsd:complexType name="USAddress">
<xsd:sequence>
<xsd:element name="name" type="xsd:string">
<xsd:annotation>
<xsd:appinfo>
<annox:annotate>
<hs:FieldBridge impl="org.jvnet.hyperjaxb3.ejb.tests.annox.Items">
<params>
<hs:Parameter name="foo" value="bar"/>
</params>
</hs:FieldBridge>
</annox:annotate>
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="street" type="xsd:string"/>
<xsd:element name="city" type="xsd:string"/>
<xsd:element name="state" type="xsd:string"/>
<xsd:element name="zip" type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name="country" type="xsd:NMTOKEN" fixed="US"/>
</xsd:complexType>
Вы также можете использовать дополнительные файлы привязки (см. Пример).