You can of course do a real delete on your objects, but it depends on your data model as well as on the question, whether you need auditing or not.
In your example you can of course delete the e-mail, if there a no other important dependencies. Probably it is more interesting to ask, whether you can delete a user. Often you only want to deactivate the user. In this case a flag "inactive" will do the job. When loading the users you can do it with HQL, for example.
Code:
select u from User u where u.inactive = :state
Best regards,
Sven