Hey Man,
Sounds like you are in a bind. Umm I will give you a link, it's part of this website, and it's the hibernate documentation.
http://www.hibernate.org/docs.html.
Go here and read the hibernate core documentation.
Quote:
...I imagine the first implementation can run up to 30 minutes...
Where did you hear this from? And what do you mean the first implementation? To set up the server or to run a single query for the first time before you get a pooled connection...? Not sure what you mean here.
Second read into lazy fetching, so not everything gets queried at once hence making things a bit faster since everything will be queried on demand, and you'll have a lot of flexibility with filtering and all.
Going to get many people from one person, your onetomany mapping should take care of it, and their info and their info and so on. If you've mapped out all your relationships properly, you should be set. Not sure where you are trying to increase performance.
Also are you using hibernate in conjunction with anything else? Such as struts1, struts2, spring...or just standard servlet/jsp programming without any frameworks...Or a non-web application. Depending on that using the hibernate template or not will come into focus. But mainly work through the documentation and you should get a firm understanding.
And lastly, hibernate should not necessarily be used to increase performance of your queries (you definitely can but you need to figure out if it is something you require), unless you right direct queries in hibernate. If you have modeled your database properly, and you can issue similar queries that hibernate generates for you and get a good run time you should be set. Also in your configuration file set showsql property to true, and see what sort of sql gets generated, and from there you can "optimize" your mappings, should you chose to do that or should it seem necessary.
Any who, good luck. And do provide feedback to help me understand your needs better, so we can work towards a solution together :).
double R