• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Paul Clapham
  • Tim Cooke
  • Jeanne Boyarsky
  • Liutauras Vilda
  • Frank Carver
  • Henry Wong
  • Ron McLeod
Saloon Keepers:
  • Tim Moores
  • Frits Walraven
  • Tim Holloway
  • Stephan van Hulst
  • Carey Brown
  • Al Hobbs
  • Piet Souris
  • Himai Minh

Element collections and Map relationships

Ranch Hand
Posts: 110
Google Web Toolkit Java Google App Engine
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

I'm studying for the JPA certification and while reading a book I encountered the following:

If instead of a many-to-many relationship we had an @ElementCollection of some embeddable type in a Map, we would have to differentiate between the key and the value. We would do this by prefixing the attribute name with "key." or "value.", depending upon which of the embeddable types we were overriding. An element collection of embedded EmployeeInfo types, with the same key overrides as those in the relationship in Listing 5-17, would use the key prefixes:

But I could not understand how a relationship with a real entity could be replaced by this kind of relationship with embeddable types id there is no information about any collection table or any table within the embeddable. I'm kind confused about element collections, I don't know if it's the book that I've bought but it sounds weird sometimes. Does anyone know what the quote above could mean?
Ranch Hand
Posts: 553
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I don't think this is saying you could replace a ManyToMany with an ElementCollection, it is just saying if you had an ElementCollection instead of the a ManyToMany (from the previous example).

It is trying to convey (only) that if an ElementCollection has both a key and a value that is an Embeddable, then the AttributeOverride is ambiguous, does it apply to the key or the value?
So, it is saying that if you had this (odd) situation, you would use the "key" prefix to override the key, and "value." apply to the value. Actually this is news to me, I assume it is defined this way in the Spec though if this book mentions it.
What do you have in that there bucket? It wouldn't be a tiny ad by any chance ...
the value of filler advertising in 2021
    Bookmark Topic Watch Topic
  • New Topic