объяснить компас @SearchableComponent @SearchableReference - PullRequest
0 голосов
/ 28 января 2010

оба также используются для аннотирования "внешнего ключа" в сущности jpa, верно? Я понимаю, @searchablecomponent,

допустим, у нас есть категория и подкатегория. подкатегория поиска вернет категорию в этом случае @searchablecomponent. а как насчет @searchablereference? я не могу понять это? для случая @searchablereference будет ли поиск по подкатегории по-прежнему возвращать категорию?

ref: http://www.opensymphony.com/compass/versions/0.9.0/html/core-osem-annotations.html

1 Ответ

1 голос
/ 28 января 2010

Эти аннотации являются частью компасного API и не имеют ничего общего с JPA (или Hibernate, базами данных и т. Д.). Концепции похожи, хотя.

Если вы аннотируете свойство ClassA с помощью @SearchableReference, тогда Compass сохранит только идентификатор упомянутого объекта. Это похоже на отношения «многие-к-одному» или @ManyToOne в Hibernate.

Если вы используете @SearchableComponent, то Compass «встроит» все свойства упомянутого объекта, когда сохранит его в компасе, аналогично <component> или @Embedded.

Hibernate

Сходство с Hibernate / JPA является сильным, и именно отсюда вытекает терминология.

...