anchor.diff:  
   [source,java]
   ----
  -QAuthor otherAuthor = new QAuthor("otherAuthor");
  -QBook otherBook = new QBook("otherBook");
  -
  -Map<Author, List<Book>> booksByAuthor = new BlazeJPAQuery<Tuple>(entityManager, criteriaBuilderFactory)
  -    .from(otherAuthor)
  -    .innerJoin(otherBook).on(otherBook.author.eq(otherAuthor))
  -    .transform(GroupBy.groupBy(otherAuthor).as(GroupBy.list(otherBook)));
  +QAuthor author = new QAuthor("author");
  +QBook book = new QBook("book");
  +
  +Map<Author, List<Book>> booksByAuthor = new BlazeJPAQuery<>(entityManager, criteriaBuilderFactory)
  +    .from(author)
  +    .innerJoin(book).on(otherBook.author.eq(author))
  +    .transform(GroupBy.groupBy(author).as(GroupBy.list(book)));
   ----
   
   === Managed type value clause
  +
  +Add a VALUES clause for values of the given value class to the from clause.
  +This introduces a parameter named like the given alias.
   
   [source,java]
   ----
  
positive.code: if no different bindings are provided.
  
  
  ==== Lateral joins
  
  Subquery joins may access outer query variables if a lateral join is used.
  
  
negative.code:  List<Tuple> fetch = query.fetch();
  ----
  
  === Common Table Expressions
  
  First declare your CTE entity:
  
  