I am not at all opposed to what Andy has suggested. I guess the big
question is whether JDO offers enough beyond JPA that makes this
effort worthwhile, versus everyone just doing JPA.
On Oct 5, 2006, at 7:17 PM, Ilan Kirsh wrote:
My personal feeling after reading the JPA spec and two books on
EJB 3 / JPA is that JPA is not so weak. It has an excellent query
language and API that is very similar to JDO (but more compact).
I highly recommend reading "Pro EJB 3 - Java Persistence API" /
Apress (despite statements such as "as a result JDO spent most of
its time in the persistence underground" and "the writing was on the
wall for JDO" - which are very natural for the two authors that work
for Oracle).
Anyway, I do think that JPA has good chances to succeed. It does
take time to achieve a critical mass of implementations and users but
it seems that JPA is on the right track. If it succeeds we should be
ready. Therefore, I think that Andy's list looks very good as a base
for JDO 2.1.
Ilan
Totally agree. I would think of the following items
1. "persistence.xml". I see no real reason not to allow
specification of
classes to be persisted using persistence.xml as an additional way of
creating the PMF.
2. Persistence API. There are not many differences between JPA and
JDO methods
so what you propose should be straightforward. Those JDO
implementations that
have/are implementing JPA will know that it is simply putting a
wrapper
around their existing JDO method. Why not include in 2.1?
3. Query Language. JPQL can be made available via the query
"language" flag in
the existing API (so we add "javax.jdo.query.JPQL" or something as
a valid
value). OK the JDO implementation (if supporting this language)
will have to
add a new query language but the hook is there. Could be an
optional feature
in JDO 2.1 ?
4. Types. Mandate support for Enums, Calendar when running under
Java5, so all
types that JPA supports are there. Why not include in 2.1?
5. Annotations. The donated JDO2 annotations need splitting between
persistence annotations, and ORM. Looking through the JPA
annotations some
time ago, it wasn't clear that we can just take theirs and add
others due to
too many missing concepts. What the JDO(3) spec could do is
firstly define
the precedence of annotations and metadata (to match the JPA spec
definition), and secondly define how JPA annotations can be used
by a JDO3
implementation. In addition provide JDO2/3 annotations to allow finer
definition.
--
Andy