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



Reply via email to