CriteriaQuery in JPA2.0 provides a type-safe way to do select, it's great. But I am wondering why it won't provide update/delete operation? To bulk update/delete, you have to fall back to old time writing error-prone SQL or JPQL text. IMO, CriteriaQuery for update/delete should not prove difficult as the where cause handling is the same with select.
Hope this would be implemented in next version of JPA.