`
Brera
  • 浏览: 2639 次
  • 性别: Icon_minigender_1
  • 来自: 火星
社区版块
存档分类
最新评论

hibernate数据过滤和监听

 
阅读更多

动态数据过滤

定义数据过滤器

	<filter-def name="limitItemsByUserRank">
		<filter-param name="currentUserRank"" type="long"/>
	</filter-def>
 
@org.hibernate.annotations.FilterDef(
		name="limitItemsByUserRank",
		parameters=@org.hibernate.annotations.ParamDef(
				name="currentUserRank",type="int"
		))

 应用和实现过滤器

   <filter name="limitItemsByUserRank"
            condition=":currentUserRank >=
                       (select u.RANK from USERS u where u.USER_ID = SELLER_ID)"/>

 

@org.hibernate.annotations.Filter(
    name = "limitItemsByUserRank",
    condition=":currentUserRank >= " +
              "(select u.RANK from USER u" +
              " where u.USER_ID = SELLER_ID)"
)

  启动过滤器

Filter filter = session.enableFilter("limitItemsByUserRank");
filter.setParameter("currentUserRank", loggedInUser.getRanking());
 
List<Item> filteredItems = session.createQuery("from Item").list();
List<Item> filteredItems = session.createCriteria(Item.class).list();

 通过标识符检索和通过对Item实例的导航访问(aCategory.getItems())都没有进行过滤

过滤集合

<class name="Category" table="CATEGORY">
...
<set name="items">
<key column="CATEGORY_ID"/>
<one-to-many class="Item"/>
<filter name="limitItemsByUserRank"
condition=":currentUserRank >=
(select u.RANK from USERS u
 where u.USER_ID = SELLER_ID)"/>
</set>
</class>

  拦截hibernate事件

创建标记接口

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Hibernate实战

    这两者都是用于检索和过滤数据的重要工具。 高级特性部分可能包含懒加载、缓存机制、二级缓存、性能优化、事件监听器、拦截器等。懒加载是Hibernate优化性能的一种策略,它延迟加载关联的对象,直到真正需要时才...

    Struts2+hibernate实现登陆和增删改

    7. **安全考虑**:为了提高安全性,密码通常需要进行加密存储和比较,可以使用Hibernate的事件监听器或者自定义拦截器来实现。 8. **增删改功能**:在其他模块中,如用户管理,可以利用Struts2和Hibernate的组合...

    hibernate-release-5.4.4.Final.zip

    最后,Hibernate的事件监听和拦截器机制也是值得提及的。开发者可以注册监听器来监控对象的状态变化,如对象的加载、保存、更新和删除,实现自定义业务逻辑。拦截器则提供了一个更细粒度的控制,可以在特定操作前或...

    Beginning Hibernate, 3rd Edition

    - **简化开发流程**:通过 Hibernate,可以大幅减少手写 SQL 的需求,简化了数据持久层的开发工作。 - **提高开发效率**:提供了一系列的工具和服务,如缓存管理、事务处理等,帮助开发者更高效地构建应用。 - **...

    一个Spring MVC和Hibernate一起使用的个人暂存(2)

    2. `web.xml`:Web应用的部署描述符,配置了DispatcherServlet以及Spring MVC的其他监听器和过滤器。 3. `spring-servlet.xml`:Spring MVC的配置文件,定义了Bean,如视图解析器、数据源、SessionFactory等,并...

    Struts+Hibernate管理Emp和Dept

    最后,项目还需要一个Web.xml文件,配置Servlet容器中的监听器、过滤器和Servlet,以启动Struts和Hibernate的初始化过程。 综上所述,"Struts+Hibernate管理Emp和Dept"项目利用了Struts的MVC架构处理HTTP请求,通过...

    struts2-hibernate3-spring整合需要的全部jar包

    3. 配置web.xml,设置过滤器和监听器,使Spring和Struts2协同工作。 4. 在Action类上添加注解或配置,与Spring的Bean管理相结合。 5. 使用Hibernate配置hibernate.cfg.xml,设置数据库连接和实体类映射。 通过这个...

    hibernate v3.04中文参考手册

    **Hibernate V3.04中文参考手册*...通过深入学习和实践Hibernate V3.04中文参考手册,开发者能熟练掌握ORM技术,提高Java应用的数据访问效率,同时理解面向对象与关系数据库之间的桥梁,为复杂系统的开发打下坚实基础。

    深入学习hibernate

    文章涵盖了Hibernate的核心接口与类、标识符生成策略、对象生命周期管理、OSIV(...和Native SQL查询、事务管理、继承映射、过滤器、数据拦截与事件监听、缓存机制、性能优化、Hibernate Annotations、Hibernate Search...

    Hibernate实战(第2版 中文高清版)

     12.3 数据过滤和拦截   12.3.1 动态数据过滤   12.3.2 拦截Hibernate事件   12.3.3 内核事件系统   12.3.4 实体监听器和回调   12.4 小结   第13章 优化抓取和高速缓存   13.1 定义全局抓取计划  ...

    Hibernate5的Jar包整合.rar

    此外,`web.xml`是部署描述符文件,定义了应用的配置信息,包括Servlet的映射、初始化参数、过滤器和监听器等。 6. **Hibernate配置文件**:通常为`hibernate.cfg.xml`,这是Hibernate的主配置文件,包含了数据库...

    hibernate-search-5.5.5.Final

    3. **排序与过滤**:利用@SortableField和@Filter注解,我们可以定制搜索结果的排序方式,并对结果进行过滤,如按评分、时间等属性进行排序,或根据特定条件筛选数据。 4. **多语言支持**:5.5.5.Final版的...

    spring+hibernate+struct2框架整合

    3. 在`web.xml`中配置Spring的上下文加载监听器`ContextLoaderListener`和`ContextConfigLocation`,以便在应用启动时加载Spring配置。 4. 配置Hibernate的相关属性,如数据源、数据库连接参数、实体映射文件等。 5....

    struts+hibernate开发的项目源代码集合

    9. **web.xml**:Web应用的部署描述符,配置了过滤器和监听器等。 10. **测试代码**:JUnit或其他测试框架的代码,用于验证功能的正确性。 通过学习和分析这些源代码,开发者可以了解到如何在实际项目中有效地结合...

    hibernate教程

    - Hibernate基于事件的验证:利用Hibernate提供的事件监听机制。 - 程序级验证:在业务逻辑中手动进行验证。 #### 七、Hibernate与Lucene集成 为了提高搜索性能,可以将Hibernate与全文搜索引擎Lucene集成起来。...

    Hibernate 中文api文档

    9. ** Criteria API的子查询**: Criteria API支持子查询,可以在一个查询中嵌套另一个查询,以实现复杂的数据过滤条件。 10. **关联映射**: Hibernate支持一对一、一对多、多对一和多对多的关联映射,通过`@...

    Struts2整合hibernate所需的jar包

    - 配置`web.xml`,添加Struts2的过滤器和监听器。 - **配置Hibernate**: - 创建`hibernate.cfg.xml`,配置数据库连接信息、方言、缓存等。 - 定义实体类并用注解进行ORM映射。 - 编写`SessionFactory`和`...

    spring+springMVC+hibernate集成

    - `web.xml`:Web应用的部署描述符,用于配置Servlet、过滤器、监听器等,SpringMVC的DispatcherServlet通常在这里注册。 - `springMVC-servlet.xml`:SpringMVC的配置文件,用于配置处理器映射器、视图解析器、...

    当设置lazy=true时,怎样使用extjs和Hibernate

    - 在设计前后端交互时,考虑使用分页和过滤策略,以减少一次性加载过多数据的需求。 - 为了优化性能,可以使用ExtJS的树网格(TreeGrid)或嵌套列表(Nested List)等组件,它们支持层次结构数据的懒加载。 - ...

Global site tag (gtag.js) - Google Analytics