我希望criteriabuilder立即用join(查询下面左1个join)进行置入和条件。但是当我把condition放在谓词中时,它会把if添加到final where子句
我想要这样的输出:
select * from milestone milestone0_ left outer join disc_user_milestone_watch userswatch1_ on milestone0_.id=userswatch1_.milestone_id AND userswatch1_.disc_user_id=2 left outer join disc_user discuser2_ on userswatch1_.disc_user_id=discuser2_.id cross join campaign campaign3_ cross join department department4_ where milestone0_.campaign=campaign3_.id and milestone0_.department=department4_.id;
select * from milestone milestone0_ left outer join disc_user_milestone_watch userswatch1_ on milestone0_.id=userswatch1_.milestone_id left outer join disc_user discuser2_ on userswatch1_.disc_user_id=discuser2_.id cross join campaign campaign3_ cross join department department4_ where milestone0_.campaign=campaign3_.id and milestone0_.department=department4_.id AND userswatch1_.disc_user_id=2;
EntityManager em = Milestone.entityManager(); CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(UserMilestoneWatchStatus.class); Root milestoneRoot = criteriaQuery.from(Milestone.class); Join milestonediscUserJoin = milestoneRoot.join("usersWatching", JoinType.LEFT); // this is used for extending the milestone table to the user table Expression userId = milestonediscUserJoin.get("id"); // id int currUserId = Integer.parseInt(params.get("currUserId").toString()); milestoneRoot.alias("x"); criteriaQuery.select(criteriaBuilder.construct(UserMilestoneWatchStatus.class, milestoneRoot, userId)); criteriaQuery.distinct(true); List predicatesList = new ArrayList(); predicatesList.add(criteriaBuilder.or(criteriaBuilder.equal(userId, currUserId), criteriaBuilder.isNull(userId))); criteriaQuery.where(criteriaBuilder.and(predicatesList.toArray(new Predicate[predicatesList.size()]))).orderBy(sort);
不,没办法那样做。JPA2.0不支持with ON子句join。它可能会成为JPA2.1的一部分。
我看过一些代码,其中人们使用了带有两个“!”的条件子句s 这是我能找到的一些例子。 使用有什么好处超过?
问题内容: 我有两个实体:和。我正在使用Hibernate 3.6。 如何使用休眠标准实现这一目标,最重要的是,我必须将其用于分页。 而“我的道”如下所示以显示jqgrid中的“问题”列表 公共列表showHelpDeskIssues(DetachedCriteria dc,int from,int size){ 对于简短的解释,请参考此问题,如何使用struts2-jqgrid插件在jqgrid
查询DSL: 事实上,这段代码不起作用,我得到以下异常: 问题是条件子句是在方法-中指定的。 Spring Boot 2.0.2 Spring Data JPA 2.0.7 Hibernate5.2.16.final 查询DSL 4.1.4
我正在使用Hibernate的Spring Boot框架。我想只在某些条件下显示数据库中的所有数据。这是我的查询 我想得到CLIENT_GROUP数据只有S的数据。我用了贝娄鳕鱼做春靴... > 我的仓库在下面 在服务中,我使用了下面的代码。。 上述方法返回所有数据。我只想得到具体的数据。怎么做?请帮帮我。。
我想对group by子句和where子句使用hibernate标准。 就像我有一个sql这样: 在使用标准组BY时,我如何在hibernate投影中传递截断的日期。
我试图左加入2表,而使用mysql"不在"条件。我的问题是,如果左连接是null,这意味着没有条目左连接,mysql不是在操作符不能正常工作。 这里有一个例子。 因为类型表中当前没有匹配的行。NOT IN操作员不工作。有什么解决办法吗?