Как сделать предложение в файлах отображения Hibernate? - PullRequest
2 голосов
/ 19 июля 2010

Я хочу добавить (где) условие в файл отображения гибернации при получении, как я могу это сделать, например fetch="select" where id != 1, я также не использую аннотации, поэтому, пожалуйста, укажите в файлах сопоставления (hbm).

Ответы [ 2 ]

1 голос
/ 19 июля 2010

Согласно документации Hibernate, при отображении коллекции можно указать предложение where:

6,2. Коллекции сопоставлений

(...) Элемент <map> Представитель:

<map
    name="propertyName"                                         (1)
    table="table_name"                                          (2)
    schema="schema_name"                                        (3)
    lazy="true|extra|false"                                     (4)
    inverse="true|false"                                        (5)
    cascade="all|none|save-update|delete|all-delete-orphan|delet(6)e-orphan"
    sort="unsorted|natural|comparatorClass"                     (7)
    order-by="column_name asc|desc"                             (8)
    where="arbitrary sql where condition"                       (9)
    fetch="join|select|subselect"                               (10)
    batch-size="N"                                              (11)
    access="field|property|ClassName"                           (12)
    optimistic-lock="true|false"                                (13)
    mutable="true|false"                                        (14)
    node="element-name|."
    embed-xml="true|false" 
>

    <key .... />
    <map-key .... />
    <element .... />
</map>

(...)

(9) where (необязательно): указывает произвольное условие SQL WHERE, то есть используется при извлечении или удалении коллекция. Это полезно, если коллекция должна содержать только подмножество доступных данных.

Это также поддерживается на уровне <class>.

0 голосов
/ 19 июля 2010

Возможно, вы можете определить <filter> в файле отображения и присоединить его к определению отображения класса. См. документы для примеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...