Чтобы ответить на ваш вопрос об остальной части CRUD, как только вы получите список объектов, как описано в qrtt1, вы можете манипулировать объектами в сеансе:
Session session = // obtain session
Transaction tx = session.beginTransaction();
List cats = session.createQuery("from Cat").list();
Cat firstCat = (Cat)cats.get(0);
firstCat.setName("Cooking Fat");
firstCat.setOwner("Richard O'Sullivan");
// etc for other cats in the collection
tx.commit();
session.close();
Любые объекты, которыевы получили с помощью запроса "грязная проверка" в tx.commit ();это означает, что в этом случае будет выдан оператор обновления для первого кота, полученного из запроса.