Search code examples
nosqleclipselink

EclipseLink NoSQL limitations, support, future


I am trying to understand better EclipseLink NoSQL, but I am having trouble understand it's limitations, what it currently supports and I simply can't find anything about the future plans the team has.

So, in short, I have quite a big list of questions that i would like to know, if you people don't mind:

Does EclipseLink support:

  1. Object Oriented queries
  2. CRUD of entities
  3. Polymorphic entities
  4. Embeddable objects (components)
  5. Basic types
  6. Unidirectional and Bidirectional relationships (if yes, which ones?)
  7. Collections (Set, List, Map, etc)
  8. Full JPA support (I assume it does, but just in case I am wrong)
  9. Denormalization
  10. Complex joins and aggregations

Apart from these questions, are there any other limitations or jewels of the crown that I should know of? Also, what is the team currently working in? What are the future plans?

I would be super happy if someone here could provide me with links or documentation for the questions I provided above, since I couldn't find anything :S

Thanks in advance, Pedro.


Solution

    1. This depends on the NoSQL platform, for MongoDB a subset of JPQL and Criteria are supported (joins to external relationships are not supported)
    2. Yes.
    3. Yes, inheritance is supported.
    4. Yes, Embeddables are supported, and ElementCollections (these are stored inline in the JSON document)
    5. Yes
    6. All unidirectional relationships are supported, bi-directional (mappedBy) is not supported, in NoSQL you just need to use two unidirectional relationships.
    7. Yes.
    8. Most of JPA. Some features such as joins, atomic transactions are not supported if the NoSQL platform does not support them (JPA transactions work, just rollback will not result in a rollback of any flushed changes if the database does not support transactions).
    9. Yes.
    10. Joins are not supported. Queries to embedded relationships is.