I have a class "person" with (amongst the others) these properties:
- homeAddress (of type address)
- billingAddress (of type address)
- addresses (of type List, it contains all the known addresses of the person)
the collection "addresses" holds reference to all the known addresses of the person, including the two explicitly referenced by the two other properties (not an history, just a list of places where "I could find" the person, like "grandma's home" or "office"). Maybe the person has just one address that is referenced by "home address", "billing address" and "addresses".
On the database I would have a table "people" with a column "homeAddressID" and another "billingAddressId", and a table "addresses" with just "personId" (no flag like "isHomeAddress" or "isBillingAddress" here)
How should I map this class?