【问题标题】:Hibernate Filter Programmatically以编程方式休眠过滤器
【发布时间】:2011-07-12 09:18:47
【问题描述】:

如何以编程方式实现相同的结果(如以下注释将实现的)?或者在 spring 配置文件中注入值“SMITH”?

@Filter(name="smithFilter", condition="LAST_NAME = 'SMITH'")
public String getLastName()
{
    return this.lastName;
}

【问题讨论】:

    标签: hibernate filter hibernate-mapping hibernate-annotations


    【解决方案1】:

    只需使用过滤条件将接收的参数定义一个 FilterDef:

    @FilterDef(name = "smithFilter", parameters = {@ParamDef(name = "lastName", type = "string")})
    @Filter(name="smithFilter", condition="LAST_NAME = :lastName")
    

    由于您还使用了“以编程方式”一词,您可能还想知道您可以根据其他输入设置参数,如下所示:

    session.enableFilter("smithFilter").setParameter("lastName", "SMITH");
    

    Hibernate 文档中的更多详细信息:

    http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html_single/#objectstate-filters

    【讨论】:

      猜你喜欢
      • 2014-08-02
      • 2017-06-08
      • 2019-08-26
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-19
      相关资源
      最近更新 更多