5

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

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

1 回答 1

5

只需使用过滤条件将接收的参数定义一个 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

于 2011-03-10T06:21:28.120 回答