Эти аннотации являются частью компасного API и не имеют ничего общего с JPA (или Hibernate, базами данных и т. Д.). Концепции похожи, хотя.
Если вы аннотируете свойство ClassA
с помощью @SearchableReference
, тогда Compass сохранит только идентификатор упомянутого объекта. Это похоже на отношения «многие-к-одному» или @ManyToOne
в Hibernate.
Если вы используете @SearchableComponent
, то Compass «встроит» все свойства упомянутого объекта, когда сохранит его в компасе, аналогично <component>
или @Embedded
.
Hibernate
Сходство с Hibernate / JPA является сильным, и именно отсюда вытекает терминология.