EclipseLink JPA-RS Development
The EclipseLink 2.4.0 release introduced JPA-RS allowing developers to easily expose persistence units over REST (JAX-RS). The intent was to allow clients (HTML5/JS, Mobile, JavaSE/JavaFX) to easily access persistent data over REST with JSON or XML. This page tracks the ongoing feature development of JPA-RS including planned features for upcoming releases as well as a back-log of future enhancements. The details of each item will be tracked within its bug and associated wiki pages or documents.
See BugDB for a prioritized list of features and bugs along with their target releases.
The following open issues have been recorded and not yet materialized as bugs. They represent items we should consider whether to document, and/or somehow address in code.
- Bidirectional relationships and cycles - how do we pass bidirectional relationships in JSON/XML. There are limitations related to how you can expect to see responses in JSON/XML - e.g. XMLInverseReference needs to be specified somewhere for bidirecitonal relationships.
- Can we remove the need for client to send the name of the attribute that makes up the opposite side of the relationship in the JPA-RS POST message (EclipseLink/Development/2.4.0/JPA-RS/REST-API#ADD) for adding a member to a collection and let the JAP-RS to figure it out on the server side ?
- ManyToMany mappings are complex to map in JAXB. They will not marshall correctly in JPA-RS without being JAXB mapped with either annotations of xml
- The REST API to setOrAddAttributes will not work when using FIELD access with Weaved Change Tracking and Internal Weaving, because there is no way to have EclipseLink set the value field and have changes tracked.
- The REST API to create(PUT) will not set both sides of bidirectional(one-to-many, one-to-one) relationships.