Looks a common situation to me: I have two tables:
documents:
dID (pk, int), dName(varchar)
and document_options:
dID (int), oType(int), oValue(varchar)
I would like to have a class Document with a property Options (a List of DocumentOption class)
Since document_options has no PK I cannot use HasMany, and rows from this table don’t seem like ‘real’ entities anyway…
I see a way to generate an auto-number key for document options and map with HasMany, or maybe create a composite ID, but I’d like to know if there is a better option that I don’t know about.
In this case,
DocumentOptionsis a value object, since it has no identity of its own and has no meaning outside of the document it belongs to. So, you would useComponentto map the collection properties to the value object.And the mapping: