@DocumentId
は、あなたのエンティティを.hbm.xml
ファイルでマッピングする旧式のスタイルを使用する場合に必要です。あなたは、注釈を使用していて、@Id
で主キーを注釈を付けている場合は、しかし、
org.hibernate.search.SearchException: No document id in: com.mypackage.MyEntity
:あなたはドキュメントIDに注釈を付けることマッピングアプローチやネグレクトを使用している場合は、起動時に次のような例外が表示されます@DocumentId
を使用する必要はありません。
具体的には、Hibernate SearchドキュメントはJPAアノテーションを使用する場合@DocumentId
がオプションであることを述べています。だから、もしあなたがHibernate 3.xスタイルの注釈を使っているのであれば、まだ@DocumentId
を使う必要があります。私は決してこれをテストしていません。
いずれかの方法は、Hibernateの4.xのは、あなたがHibernateのSession
むしろJPAのEntityManager
よりのためのクエリを使用しているJPAスタイルのアノテーション、場合でもの賛成で、独自のマッピング・アノテーションを非難します。 XML形式のマッピングを使用している場合は@DocumentId
を使用する必要がありますが、アノテーションを使用している場合はオプションですが、この時点でJPAスタイルのアノテーションを使用する必要があるためです。
私はこれが当てはまると思ったが、私はドキュメントでそれを見つけることができなかった。ありがとう! – jackcrews