Создайте аннотацию @Indexed, используя Jaxb или HyperJaxb - PullRequest
2 голосов
/ 08 сентября 2011

Я хочу реализовать в своем назначении поиск в спящем режиме на основе lucene.Для создания доменных объектов я использую HyperJaxb3.

Я хочу добавить аннотацию @Indexed при создании объекта домена с помощью HyperJaxb.

Я пытался поискать в Google, но не смог найти решения.

Любой указатель на этот счетокажет большую помощь.

1 Ответ

2 голосов
/ 08 сентября 2011

Плагин 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>

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

...