Hi,
You might be interested to know that other ORM solutions including
JDO and Java Persistence allow mapping relational tables to
java.util.Map.
Generally there are two patterns. One uses a field of the target
class for the key and uses the object reference as the value. Or uses
the object reference as the key and a field as a value. Given that
objects might not be fully instantiated, this might be a good access
pattern (e.g. you might have only the key of an object so you have
the key for the lookup in the database). Having a Map can help with
scaling to very large relationships, as the relationships can be
lazily loaded.
The other pattern is to use a join table that contains a foreign key
to the referenced table, a foreign key to the source table, and a
column with "extra" information. The extra information can be encoded
into a key or value of the Map.Entry on either or both sides.
Regards,
Craig
On Jan 16, 2007, at 12:26 AM, Peter Schröder wrote:
> hi robert,
>
> what do you need a name for?
> you get cayenne-objects from that relationship whom you can access
> via getters and setters?!
>
> -----Ursprüngliche Nachricht-----
> Von: Robert Zeigler [mailto:robert..uregumption.com]
> Gesendet: Dienstag, 16. Januar 2007 05:14
> An: cayenne-use..ncubator.apache.org
> Betreff: "map" properties?
>
> Currently (to the best of my knowledge), cayenne always represents a
> to-many relationship as a java.util.List. However, I was thinking it
> would be nifty if cayenne supported map-representations of to-many
> relationships. For instance, you could model a relationship between
> Users and UserPreferences as a map, and specify the "name" property of
> the UserPreferences table as the map key. Does that make sense? Am I
> the only one who thinks that would be incredibly useful? :) Is
> something
> like this already planned for 3.0?
> If other people would find it useful, then I'd be happy to submit a
> feature request and also work up a patch.
>
> Robert
Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:Craig.Russel..un.com
P.S. A good JDO? O, Gasp!
This archive was generated by hypermail 2.0.0 : Tue Jan 16 2007 - 12:01:50 EST