This is because what you end up with are actually proxy instances managed by the session.
When I have something like that I consider a base class, with subclass mapping, or simple class map inheritance, or possibly even component map.
After awhile, though, I feel your pain, especially for those cross cutting concerns.
HTH
Regards,
Michael