Again apologies for replying to myself, but I think I found an acceptable solution and I would like to post it for the benefit of others.
Seems like using the Hibernate Synchronizer Eclipse Plugin (
http://www.binamics.com/hibernatesynch/) will work for what we want to do since it generates base classes and a class extending the base class.
When regenerating, only the base class is overwritten. Since the custom constructors are placed in the child class, they are not lost when the code is regenerated.
Seems to me that this is a better solution than going with Middlegen and hbm2java to generate the mapping files and source.
Eraser