I think the best way is to:
* make sure that the relations between audit tables and the revision info table (rev id <-> id) have delete cascade
* delete from rev_info r where r.date < :date
how can I set the delete cascade on these tables ? AFAIK they are generated by envers and I have no influence on that, have I ?
Aren't they included in the auto-generated schema? If not, you can create a JIRA issue for that, though I'm not quite sure yet if this should be the default.
I normally just generate the "initial" schema automatically and then include it in a sql-create script so that it can go in production. And there I can freely add constraints, cascades etc
Also, if you add them manually, afaik they won't be removed by hbm2ddl.