struts2 Создать критерии - PullRequest
       1

struts2 Создать критерии

0 голосов
/ 24 марта 2011

У меня есть родительские / дочерние отношения с деятельностью / избранным, теперь я хочу отобразить из родительской таблицы, где компания не равна 'xyz', и дочерней таблицы, где компания равна 'xyz'

i.e. JSP отображается со всеми записями, в которых родительская компания не равна 'xyz' (т. Е. Пользователями компании, вошедшими в систему) и с флажком из дочерней таблицы. когда пользователь выбирает флажок, он сохраняет парентид, идентификатор компании пользователя и значение флажка, которое имеет значение true в дочерней таблице.

так что существует вероятность того, что одна деятельность может иметь более одной дочерней записи с одинаковым парентидным и различным названием компании.

Может ли кто-нибудь помочь мне, как достичь в спящем режиме. Я пытался использовать session.createQuery ("из действий, где верхний (КОМПАНИЯ) <> '" + userCompany + "' и accNominated = 'true'"). list ();

но это оспаривающая родительская запись и все дочерние записи с этой парентидой. Но я хочу отобразить родительские записи и все дочерние записи с одинаковыми активами и другими компаниями, которые отмечены, но не соответствуют компании, которая вошла в систему.

спасибо

1 Ответ

0 голосов
/ 24 марта 2011

Без грамматики ваш вопрос немного сложен для понимания, но, похоже, вы хотите выбрать Избранное с определенными критериями, которые связаны с Действиями с определенными критериями.

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 s, связанных с Activity s, где ни один не имеет определенного companyId, наряду с любыми другими критериями, которые вы хотите поместить в любую запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...