Lists in every class to map the associations between classes.
Well, how else would you manifest a 'many' relationship in Java code? You gotta have that List, or collection, of associated objects, right? Is there something you think would be a better approach?
There are a variety of tools that can do a reverse mapping, when it goes to the database and creates the hibernate mappings for you. These tools would do just that if you had a database in place, with the 'constraints and all.' I'm not sure if any create annotated POJOs. My last involvement with them, they created the POJOs and hibernate XML mapping files. They were pretty effective though.
-Cameron McKenzie