struts2 Createcriteria

时间:2011-03-24 01:35:18

标签: hibernate

我与活动/收藏夹有父/子关系现在我想显示公司不等于'xyz'的父表和公司等于'xyz'的子表

即显示一个jsp,其中所有记录的父公司不等于'xyz'(登录的用户公司)和来自子表的复选框。当用户选择复选框时,它会存储parentid,用户公司ID和复选框值,这在子表中是真的。

所以有可能一个acitivy可能有多个子记录具有相同的parentid和不同的公司名称。

任何人都可以帮助我如何在休眠中实现。我试过用     session.createQuery(“来自其中upper(COMPANY)<>'”+ userCompany +“'和accNominated ='true'”的活动。)list();

但它是令人失望的父记录和所有带有该parentid的子记录。但我想显示父记录和所有具有相同activityid和不同公司的子记录,这些公司已经过检查但与登录的公司无关。

感谢

1 个答案:

答案 0 :(得分:0)

没有语法,你的问题有点难以理解,但听起来你想要选择具有某些标准的收藏夹,这些标准与具有特定标准的活动相关联。

List<Favorite> favorites = session.createQuery(
        "from Favorite f " +
            "inner join f.activity a " + //assuming Favorite.getActivity() exists
        "where f.companyId <> :currentCompanyId " +
            "and a.companyId <> :currentCompnayId " +
            "and ... " +
            "and ...")
    .setParameter("currentCompanyId", companyId)
    .list();

这将返回FavoriteActivity相关联的companyId,其中{{1}}两者都没有某个{{1}},以及您要在任一记录上放置的任何其他条件。