jac*_*ews 5 indexing hibernate hibernate-search
我正在使用Hibernate Search,文档和书籍说我需要在id字段上使用@DocumentId,以便Hibernate Search可以知道如何将索引映射到对象.
我的代码似乎在没有@DocumentId的情况下工作正常.Hibernate Search是否足够聪明,以确定@Id字段是一个很好的默认值?是否存在导致不明显的问题?
谢谢你的时间!
@DocumentId如果您使用旧式样式将实体映射到.hbm.xml文件,则是必需的.如果您使用该映射方法而忽略了对文档ID进行注释,那么在启动时您将看到如下异常:
org.hibernate.search.SearchException: No document id in: com.mypackage.MyEntity
Run Code Online (Sandbox Code Playgroud)
但是,如果您使用注释并注释了主键@Id,则不必使用@DocumentId.
更准确地说,Hibernate Search文档说@DocumentId在使用JPA注释时是可选的.所以@DocumentId如果你使用Hibernate 3.x风格的注释,或许你仍然需要使用...我从来没有测试过这个.
无论哪种方式,Hibernate 4.x都会弃用自己的映射注释,转而使用JPA样式的注释,即使您使用Hibernate Session而不是JPA来EntityManager进行查询.简而言之:@DocumentId如果您使用XML样式的映射,则需要使用...如果您使用注释,则它是可选的,因为此时您应该使用JPA样式的注释.
| 归档时间: |
|
| 查看次数: |
2341 次 |
| 最近记录: |