此内容没有您所选择的语言版本。
27.3. Usage
Hibernate Search uses annotations to map entities to a Lucene index. Check the reference documentation for more information.
Hibernate Search is completely integrated with the API, and semantic of JPA and Hibernate. Switching from a HQL- or Criteria-based query requires little code. The application interacts primarily with the
FullTextSession
API, which is a subclass of Hibernate's Session
.
When Hibernate Search is present, JBoss Seam injects a
FullTextSession
:
Note
Here,
FullTextSession
extends org.hibernate.Session
so that it can be used as a regular Hibernate Session.
A smoother integration is proposed if the JPA is used:
Here, a
FulltextEntityManager
is injected where Hibernate Search is present. FullTextEntityManager
extends EntityManager
with search specific methods, the same way FullTextSession
extends Session
.
When an EJB 3.0 Session or Message Driven Bean injection is used (that is, where injection uses the
@PersistenceContext
annotation), the EntityManager
interface cannot be replaced by using the FullTextEntityManager
interface in the declaration statement. However, the implementation injected will be a FullTextEntityManager
implementation, which allows downcasting.
Note
If you are accustomed to using Hibernate Search outside Seam, remember that you do not need to use
Search.createFullTextSession
when Hibernate Search is integrated with Seam.
For a working example of Hibernate Search, check the DVDStore or Blog examples in the JBoss Seam distribution.