我想在获取时在hibernate映射文件中添加一个(where)条件,
我怎么能这样做fetch="select" where id != 1
,我也没有使用注释,所以请在映射(hbm)文件中指定。
答案 0 :(得分:1)
根据Hibernate文档,您可以在映射集合时指定where
子句:
6.2. Collection mappings
(...)
<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>
级也支持此功能。
答案 1 :(得分:0)
您可以在映射文件中定义<filter>
,并将其附加到类映射定义。有关示例,请参阅docs。