Создайте аннотацию @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>

Вы также можете использовать дополнительные файлы привязки (см. Пример).

Другие вопросы по тегам