java - 如何始终在 spring 应用程序中启用我的 Hibernate 过滤器?

标签 java hibernate spring hibernate-filters

有一个基于 Hibernate (3.5)/Spring (3.0)/BlazeDS/Flex 堆栈的应用程序,我需要为我的一些域类应用过滤器,如下所示。

@FilterDef(name="notDeletedFilter")
@Filter(name="notDeletedFilter", condition="deleted=0")
public class Item {
   private boolean deleted;
  //setter and getter
}

这些过滤器应该始终应用于我的应用程序。 然而,根据hibernate documentation ,默认情况下,不会为给定的 hibernate session 启用过滤器。

所以我的问题很简单:如何为所有 Hibernate session 启用所有定义的 hibernate 过滤器?无论如何要在 spring xml 配置文件中配置我的 Hibernate Session 工厂以应用这些过滤器?

最佳答案

如果您正在使用 Spring 的 HibernateTemplate,一种解决方案是扩展它并覆盖 enableFilters 方法。在其中,明确启用您需要的过滤器。

关于java - 如何始终在 spring 应用程序中启用我的 Hibernate 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5557313/

相关文章:

java - 八皇后 - 对角线运动

java - 使用 JoinTable(带有 OrderColumn)删除 OneToMany/ManyToOne 双向关系中的重复项

java - 如何在 hibernate 中删除父实体并在子FK列中设置null?

java - 如何使用 spring jpa 将三个实体连接到一张表中?

java - Tomcat,java.lang.ClassNotFoundException : org. springframework.web.servlet.DispatcherServlet

java - 使用 AffineTransform 旋转动画 GIF (ImageIcon)

java - 如何在 Jersey REST api 中返回部分实体/POJO

java - 如何检测死锁?同步块(synchronized block)超时?

java - 我们可以使用 Spring-cloud-netflix 和 Hystrix 来重试失败的执行吗

java - SDK支持diff spring版本