public final T on(Predicate... conditions) { for (Predicate condition : conditions) { metadata.addJoinCondition(normalize(condition, false)); } return self; }
public final T on(Predicate condition) { metadata.addJoinCondition(normalize(condition, false)); return self; }
public T with(EBoolean... conditions){ for (EBoolean condition : conditions){ getMetadata().addJoinCondition(condition); } return getSelf(); }
@Test public void Join_With() { QCat cat = QCat.cat; JPQLSerializer serializer = new JPQLSerializer(HQLTemplates.DEFAULT); QueryMetadata md = new DefaultQueryMetadata(); md.addJoin(JoinType.DEFAULT, cat); md.addJoin(JoinType.INNERJOIN, cat.mate); md.addJoinCondition(cat.mate.alive); serializer.serialize(md, false, null); assertEquals("select cat\nfrom Cat cat\n inner join cat.mate with cat.mate.alive", serializer.toString()); }
@Test public void OpenJPA_Variables() { QCat cat = QCat.cat; JPQLSerializer serializer = new JPQLSerializer(OpenJPATemplates.DEFAULT); QueryMetadata md = new DefaultQueryMetadata(); md.addJoin(JoinType.DEFAULT, cat); md.addJoin(JoinType.INNERJOIN, cat.mate); md.addJoinCondition(cat.mate.alive); serializer.serialize(md, false, null); assertEquals("select cat_\nfrom Cat cat_\n inner join cat_.mate on cat_.mate.alive", serializer.toString()); }
md.addJoin(je.getType(), je.getTarget().accept(this, null)); if (je.getCondition() != null) { md.addJoinCondition((Predicate)je.getCondition().accept(this, null));