Yes, I've tried that & OpenJPA wants to use the enum's ordinal instead of its string representation. How do I force the use of its string representation?
Thanks, Matthew PS: Who's Max? ;) On Wed, Apr 14, 2010 at 10:56 AM, Patrick Linskey <[email protected]> wrote: > Hi, Max! > > I think that @PersistentMap is your friend here. Have you tried that > annotation? > > Happy sailing, > > -Patrick > > On Wed, Apr 14, 2010 at 9:59 AM, Matthew Adams <[email protected]> > wrote: >> Hi all, >> >> Sorry if this is a FAQ. I can't seem to find it in the docs or googling. >> >> I have the following scenario and just need to know which >> OpenJPA-specific annotations to apply to my field. The scenario is a >> field of type Map where the map key is an enum that I want to store as >> @Enumerated(EnumType.STRING) and is not an attribute of the values in >> the map using OpenJPA 1.2.x & JPA 1.0 (can't go to JPA 2.0 yet). >> Assume all classes use a simple @Id field of type Long. >> >> public enum Place { HOUSE, CAVE, LEAN_TO, BARE_SPOT; } >> >> @Entity >> public class WildThing { >> /* NOTE: does **not** have a field of type Place! */ >> �...@id >> protected Long id; >> protected String name; >> } >> >> @Entity >> public class WhereTheWildThingsAre { >> >> �...@id >> protected Long id; >> >> // what annotation(s) do I put here? >> �...@onetomany(cascade = >> { CascadeType.MERGE, CascadeType.REFRESH, CascadeType.PERSIST }) >> protected Map<Place,WildThing> thingsByClassification >> = new HashMap<Place,WildThing>; >> >> } >> >> Again, I want the key to be stored as the string representation of the >> enum constant. >> >> TIA, >> Matthew >> >> -- >> mailto:[email protected] >> skype:matthewadams12 >> yahoo:matthewadams >> aol:matthewadams12 >> google-talk:[email protected] >> msn:[email protected] >> http://matthewadams.me >> http://www.linkedin.com/in/matthewadams >> > > > > -- > Patrick Linskey > 202 669 5907 > -- mailto:[email protected] skype:matthewadams12 yahoo:matthewadams aol:matthewadams12 google-talk:[email protected] msn:[email protected] http://matthewadams.me http://www.linkedin.com/in/matthewadams
