1) Hibernate tools supports Ant to do reverse engineering and code generation. I use Eclipse and still use the Ant tasks as opposed to the plugins (that way I am not tied to an IDE).
2) In my ecperience, jar'ing up the persistence layer is a good way to learn about your classloaders. ;) But really, just keep the persistence layer in a sepearate package and you'll be fine.
3) For web-apps, look at
http://www.hibernate.org/43.html , it makes things pretty simple without having to worry about collection initializations, lazy loading issues, etc.