UP-4143 EventSession purge fails to page, OutOfMemory can result

From ticket ...
As a uPortal adopter, I would like my portal to not run out of memory when it tries to purge a large number of EventSessions.  JpaEventSessionDao in purgeEventSessionsBefore() attempts to load all the matching sessions and then step through the list deleting them one by one, rather than loading them in smaller batches. This can result in an out of memory.

See uportal-dev@ thread re: http://thread.gmane.org/gmane.comp.java.jasig.uportal.devel/5743 .
To what extent does this solution need to be going through the `DAO` and `JPA` to do these deletes rather than doing that direct `SQL` at the database layer, for Hibernate / `JPA` consistency?  Opportunity to enter an unhappy, inconsistent state if the solution goes around rather than through `JPA`?