Of the first two, it’s better when you save your memory. If you want to remove Entity and you have an identifier with you, it is recommended to write HQL.
In your case, there is a third and best option,
Try below
String idList = "1,2,3,....."
Query q = createQuery("delete from session_context where id in (:idList) ");
q.setString("idList", idList);
q.executeUpdate();
Now, if there are 4 items in the list, only one request will be launched. It would be 4 before.
. - , session_context .