问题
I want to implement lucene based hibernate search in my assignment. For generating domain objects I am using HyperJaxb3.
I want @Indexed annotation to be added during domain object creation using HyperJaxb.
I tried googling for this, but unable to find solutions.
Any pointer in this regard will be of great help.
回答1:
Annotate plugin is the right answer. See this example.
This is how it looks in schema:
....
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>
You can also use extra binding files (see the example).
来源:https://stackoverflow.com/questions/7343478/generate-indexed-annotation-using-jaxb-or-hyperjaxb