栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

jpa / hibernate查询返回的实体中包含的过滤器列表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jpa / hibernate查询返回的实体中包含的过滤器列表

我想知道是否可以使用jpa或hibernate建立一个查询,以使用特定语言环境(例如“
it”)的Dictionary检索ApplicationForm实体。

不适用于标准JPA。但是Hibernate允许在给定的会话期间将任意过滤器应用于收集负载。从《 Hibernate注释参考指南》中:

2.4.8。筛选器

Hibernate可以在数据之上应用任意过滤器。这些过滤器将在运行时应用于给定的会话。首先,您需要定义它们。

@org.hibernate.annotations.FilterDef

@FilterDefs
使用相同的名称定义过滤器使用的过滤器定义。过滤器定义具有
name()
和的数组
parameters()
。参数将允许您在运行时调整过滤器的行为。每个参数由
@ParamDef
具有名称和类型的定义。您也可以
defaultCondition()
为给定定义一个
参数,
@FilterDef
以设置在每个个人中都未定义的默认条件
@Filter
。甲
@FilterDef
(或多个)可以在类或包级别来定义。

现在,我们需要定义应用于实体加载或集合加载的SQL filter子句。

@Filter
用于实体或集合元素上

>     @Entity>     @FilterDef(name="minLength", parameters=@ParamDef( name="minLength",> type="integer" ) )>     @Filters( {>         @Filter(name="betweenLength", condition=":minLength <= length and> :maxLength >= length"),>         @Filter(name="minLength", condition=":minLength <= length")>     } )>     public class Forest { ... }

当集合使用关联表作为关系表示形式时,您可能希望将过滤条件应用于关联表本身或目标实体表。要将约束应用于目标实体,请使用常规

@Filter

注释。但是,如果要定位关联表,请使用
@FilterJoinTable
注释。

>     @OneToMany>     @JoinTable>     //filter on the target entity table>     @Filter(name="betweenLength", condition=":minLength <= length and> :maxLength >= length")>     //filter on the association table>     @FilterJoinTable(name="security", condition=":userlevel >=> requredLevel")>     public Set<Forest> getForests() { ... }

也可以看看

  • Hibernate Core参考文档中的第17章过滤数据。
  • Hibernate3过滤器


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/374612.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号