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

Hibernate:实体上的多个过滤器

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

Hibernate:实体上的多个过滤器

我实际上已经解决了,但感谢您的帮助。解决方案(下面详细介绍)是将多个@FilterDef批注包装在@FilterDef 批注中。奇怪的是,我没有在任何地方或Hibernate文档中找到它,我看到了这篇文章在一个元素上具有相同类型的多个注释?并认为可能@FilterDefs存在并且确实存在。

@Entity@Table(name = "TESTCASE_NEW")@FilterDefs({        @FilterDef(name = "TESTCASE_NAME_FILTER", defaultCondition = "TESTCASENAME like :TESTCASENAME", parameters = { @ParamDef(name = "TESTCASENAME", type = "string") }),        @FilterDef(name = "TEST_RUN_ID_FILTER", defaultCondition = "TESTRUNID in (:IDS)", parameters = { @ParamDef(name = "IDS", type = "int") })})public class TestCase implements Serializable{    private static final long serialVersionUID = 1L;    @Id    @Column(name = "TESTCASEID")    private int ID;    @Column(name = "TESTCASENAME")    private String name;...}@Entitypublic class Category implements Serializable{    private static final long serialVersionUID = 1L;    @Id    @Column(name = "CATEGORYID")    private int ID;    @Column(name = "CATEGORYNAME")    private String name;    @oneToMany(fetch = FetchType.EAGER)    @JoinColumn(name = "CATEGORYID")    @OrderBy("TESTCASEID desc")    @Filters({ @Filter(name = "TEST_RUN_ID_FILTER"), @Filter(name = "TESTCASE_NAME_FILTER") })    private Collection<TestCase> testCases;...}

在DAO中,我只打开需要的

public List<Category> getCategories(List<Integer> testRunIDs, String category, String testCaseName)    {        Session session = getSession();        if (testRunIDs != null && testRunIDs.size() != 0)        { session.enableFilter("TEST_RUN_ID_FILTER").setParameterList("IDS", testRunIDs);        }        if (testCaseName != null)        { session.enableFilter("TESTCASE_NAME_FILTER").setParameter("TESTCASENAME", testCaseName);        }                Query query = session.createQuery("select distinct c from Category c inner join c.testCases tc");        List<Category> result = query.list();        return result;    }


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

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

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