anchor.diff:  * `DELETE`
   * `INSERT ... SELECT`
   
  +Apart from support for DML for JPA entity types, there is also support for DML for entity collections.
   The construction of query builders for such statements works through the link:{core_jdoc}/persistence/CriteriaBuilderFactory.html[`CriteriaBuilderFactory`] API.
   
   === DELETE statement
  
positive.code: NOTE: When using Hibernate with embedded ids, you *must* map all the columns as *basic values*(no relations) directly into the entity itself, otherwise you won't be able to assign a value to the attributes/columns.
  
  WARNING: When using Oracle, generated identifiers currently don't work. Also see https://github.com/Blazebit/blaze-persistence/issues/306[#306]
  
  === CTE support
  
  
negative.code: 
  // TIP: If your DBMS supports it, polymorphic `UPDATE` statements will be implemented as CTEs when updating entities through this API.
  
  === UPDATE collection statement
  
  The `UPDATE` collection statement updates attributes as specified in the `SET` clause on entries of a collection of entities that satisfy the `WHERE` clause of the statement.
  A collection update builder can be created via link:{core_jdoc}/persistence/CriteriaBuilderFactory.html#updateCollection(javax.persistence.EntityManager,%20java.lang.Class,%20java.lang.String)[`CriteriaBuilderFactory.updateCollection()`].
  The statement only works on collections that have a join or collection table.
  
  [source,java]
  ----
  UpdateCriteriaBuilder<Cat> cb = cbf.updateCollection(em, Cat.class, "kittens", "cat")
      .set("cat.id", 2)
      .where("cat.id").eq(1);
  ----
  
  The alias `cat` or in general, an update collection statement alias only allows access to the join or collection table related attributes.
  Generally, these attributes are
  
  * The source id i.e. `cat.id`
  * The target id i.e. `cat.kittens.id`
  * The collection index/key i.e. `KEY(cat.kittens)`
  
  The logical SQL for this _re-parenting query_ looks like
  
  [source,sql]
  ----
  UPDATE Cat(kittens) cat
  SET cat.id = :param_1
  WHERE cat.id = :param_2
  ----
  
  This will cause all kittens that previously were associated with the cat with id 1 now to be the kittens of the cat with id 2.
  
  === INSERT-SELECT statement
  
  The `INSERT-SELECT` statement allows to create new entities based on result of a `SELECT` query.
  