Если POINTALL и OPERATION_PLAN таблице отображаются чем только критерии будут работать иначе использовать HQL или SQL.
Это то, что вам нужно создать
Criteria criteria = getSession().createCriteria(POINTALL.class,"P1");
ProjectionList projections = Projections.projectionList();
projections.add(Projections.property("P1.something"),"aliasName");
projections.add(Projections.property("P1.something"),"aliasName");
..
projections.add(Projections.property("O1.PROJECT_OID"),"PROJECT_OID");
criteria.createAlias("P1.OPERATION_PLAN","O1", Criteria.LEFT_JOIN);
criteria.setProjection(projections);
Я отдаю себе отчет в HQL, но мне нужно будет добавить ограничения динамически. это моя проблема –
Если эти два объекта связаны (или сопоставлены), то вы можете сделать это с помощью критериев, по-прежнему использующих HQL. –