我与活动/收藏夹有父/子关系现在我想显示公司不等于'xyz'的父表和公司等于'xyz'的子表
即显示一个jsp,其中所有记录的父公司不等于'xyz'(登录的用户公司)和来自子表的复选框。当用户选择复选框时,它会存储parentid,用户公司ID和复选框值,这在子表中是真的。
所以有可能一个acitivy可能有多个子记录具有相同的parentid和不同的公司名称。
任何人都可以帮助我如何在休眠中实现。我试过用 session.createQuery(“来自其中upper(COMPANY)<>'”+ userCompany +“'和accNominated ='true'”的活动。)list();
但它是令人失望的父记录和所有带有该parentid的子记录。但我想显示父记录和所有具有相同activityid和不同公司的子记录,这些公司已经过检查但与登录的公司无关。
感谢
答案 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();
这将返回Favorite
与Activity
相关联的companyId
,其中{{1}}两者都没有某个{{1}},以及您要在任一记录上放置的任何其他条件。