@DocumentId
es necesario si está utilizando el estilo antiguo de mapeo de sus entidades con .hbm.xml
archivos. Si usted es usar ese método de asociación y el abandono de anotar un ID de documento, a continuación, en el arranque, verá una excepción de esta manera:
org.hibernate.search.SearchException: No document id in: com.mypackage.MyEntity
Sin embargo, si está utilizando anotaciones y ha anotado una clave principal con @Id
, a continuación, no es necesario que use @DocumentId
.
Para ser más precisos, la documentación de Hibernate Buscar @DocumentId
dice que es opcional cuando se utiliza JPA anotaciones. Por lo tanto, tal vez aún necesite usar @DocumentId
si está utilizando anotaciones de estilo Hibernate 3.x ... Nunca lo he probado.
De cualquier manera, Hibernate 4.x desaprueba sus propias anotaciones de mapeo a favor de las anotaciones de tipo APP, incluso siSession
está utilizando en lugar de la APP de EntityManager
para sus consultas de Hibernate. Así que en pocas palabras: necesita usar @DocumentId
si está utilizando asignaciones de estilo XML ... mientras que es opcional si está usando anotaciones, porque en este punto debería usar anotaciones de estilo JPA de todos modos.
Pensé que este era el caso, pero no pude encontrarlo en los documentos. ¡Gracias! – jackcrews