Not sure exactly what you mean by aggregation vs association (different people have some slightly different interpretation). However, taking your specific example:
Babo70 wrote:
my Person class has all kind of data related to it. say nick names,
bank info, credit card info, addresses info, school info, driver's license info, about total of 10-12 related collection classes.
Take person > addresses as an example.
Some rules of thumb you can consider :
a) Is there ever a need to read addresses without outside the context of the person?
If you have needs to read address directly without the person, it should have its own identity, and hence should not be a composite element under Person.
b) is an address instance ever shared by multiple entities?
Eg, if you have a need that multiple persons (such as members of a family) will share a single address, such that if one (say, the Dad) updates the address, the Mum will use the same updated address too. In that case, an address needs to be identifiable (so that it can be shared).
It is a fundamental data modeling issue (independent of using hibernate or not) that typical data modeling books / tutorial will explain it in more details. (Look for sections along the line of "What is an entity?" or "entity vs value object)