25:
228:(ORM) standard, while JDO is both an object-relational mapping standard and a transparent object persistence standard. JDO, from an API point of view, is agnostic to the technology of the underlying datastore, whereas JPA is targeted to RDBMS datastores (although there are several JPA providers that support access to non-relational datastores through the JPA API, such as DataNucleus and ObjectDB).
152:, which modify compiled Java class files so they can be transparently persisted. (Note that byte-code enhancement is not mandated by the JDO specification, although it is the commonly used mechanism for implementing the JDO specification's requirements.) Currently, JDO vendors offer several options for persistence, e.g. to
231:
Leading JDO commercial implementations and open source projects also offer a JPA API implementation as an alternative access to their underlying persistence engines, formerly exposed solely via JDO in the original products. There are many open source implementations of JDO.
54:
167:
JDO enhanced classes are portable across different vendors' implementation. Once enhanced, a Java class can be used with any vendor's JDO product.
487:
197:. There have been standards conflicts between the two standards bodies in terms of pre-eminence. JDO has several commercial implementations.
497:
492:
423:
398:
373:
171:
76:
103:
224:
require an EJB container, and thus will work within a Java SE environment as well, as JDO always has. JPA, however, is an
409:
252:
37:
111:
47:
41:
33:
320:
225:
100:
58:
179:
114:
126:
262:
More: Named
Queries (pm.newNamedQuery), FetchPlan, Sequence, Delete by Query, multiple User Objects on PM
118:
330:
201:
190:
153:
502:
419:
394:
369:
365:
384:
247:
JDOQL Enhancements (Single String Form; more String, Map & Math methods support mandated)
200:
In the end, persistence has been "broken out" of "EJB3 Core", and a new standard formed, the
122:
325:
157:
148:
metafiles, which may have vendor-specific extensions. JDO vendors provide developers with
383:
Tyagi, Sameer; Vorburger, Michael; McCammon, Keiron; Bobzin, Heiko (September 21, 2003).
137:
and was released on May 10, 2006. JDO 2.1 was completed in Feb 2008, developed by the
481:
390:
161:
97:
141:
project. JDO 2.2 was released in
October 2008. JDO 3.0 was released in April 2010.
107:
472:
467:
462:
429:
336:
307:
300:
293:
286:
276:
194:
174:
in several ways. First of all, the vendor implementation may be provided as a
208:
package, and was first specified in a separate document within the EJB3 spec
359:
106:. One of its features is a transparency of the persistence services to the
457:
213:
209:
134:
452:
341:
130:
244:
Standardized ORM mapping descriptors (for ORM-based JDO implementations)
193:
3.0 (EJB3) specification also covered persistence, as had EJB v2 with
415:
125:
or extend from special classes. JDO 1.0 was developed under the
145:
18:
138:
121:); there is no requirement for them to implement certain
236:
New
Features in JDO Version 2 Not Found In Version 1
358:Jordan, David; Russell, Craig (April 22, 2003).
46:but its sources remain unclear because it lacks
178:. Secondly, JDO may work in the context of JEE
144:Object persistence is defined in the external
8:
411:Using and Understanding Java Data Objects
77:Learn how and when to remove this message
16:Specification of Java object persistence
212:, but was later moved to its own spec
110:. JDO persistent objects are ordinary
7:
241:Disconnected object graphs concept
14:
23:
133:. JDO 2.0 was developed under
1:
408:Ezzio, David (June 6, 2003).
267:JDO Reference Implementations
258:javax.jdo.PersistenceManager
498:Java specification requests
519:
488:Object–relational mapping
321:Object-relational mapping
226:object-relational mapping
112:Java programming language
493:Java enterprise platform
96:) is a specification of
32:This article includes a
282:JDO 2.1 : JPOX 1.2
170:JDO is integrated with
61:more precise citations.
386:Core Java Data Objects
272:JDO 1.0 : FOStore
127:Java Community Process
473:JDO 3.0 specification
468:JDO 2.2 specification
463:JDO 2.1 specification
458:JDO 2.0 specification
453:JDO 1.0 specification
432:on December 23, 2010
331:Java Persistence API
310:AccessPlatform 5.2.0
303:AccessPlatform 3.2.0
296:AccessPlatform 2.1.0
289:AccessPlatform 1.0.1
204:(JPA). JPA uses the
202:Java Persistence API
191:Enterprise JavaBeans
186:JDO vs. EJB3 vs. JPA
180:transaction services
34:list of references
361:Java Data Objects
218:javax.persistence
216:. Significantly,
206:javax.persistence
90:Java Data Objects
87:
86:
79:
510:
441:
439:
437:
428:. Archived from
414:(1st ed.).
404:
389:(1st ed.).
379:
364:(1st ed.).
259:
255:
219:
207:
177:
82:
75:
71:
68:
62:
57:this article by
48:inline citations
27:
26:
19:
518:
517:
513:
512:
511:
509:
508:
507:
478:
477:
449:
444:
435:
433:
426:
418:. p. 456.
407:
401:
393:. p. 576.
382:
376:
368:. p. 384.
357:
353:
326:Object database
317:
306:JDO 3.2 :
299:JDO 3.1 :
292:JDO 3.0 :
285:JDO 2.2 :
275:JDO 2.0 :
269:
257:
251:
238:
217:
205:
188:
175:
83:
72:
66:
63:
52:
38:related reading
28:
24:
17:
12:
11:
5:
516:
514:
506:
505:
500:
495:
490:
480:
479:
476:
475:
470:
465:
460:
455:
448:
447:External links
445:
443:
442:
424:
405:
399:
380:
374:
366:O'Reilly Media
354:
352:
349:
348:
347:
344:
339:
334:
328:
323:
316:
313:
312:
311:
304:
297:
290:
283:
280:
273:
268:
265:
264:
263:
260:
248:
245:
242:
237:
234:
187:
184:
85:
84:
42:external links
31:
29:
22:
15:
13:
10:
9:
6:
4:
3:
2:
515:
504:
501:
499:
496:
494:
491:
489:
486:
485:
483:
474:
471:
469:
466:
464:
461:
459:
456:
454:
451:
450:
446:
431:
427:
425:1-59059-043-0
421:
417:
413:
412:
406:
402:
400:0-13-140731-7
396:
392:
391:Prentice Hall
388:
387:
381:
377:
375:0-596-00276-9
371:
367:
363:
362:
356:
355:
350:
345:
343:
340:
338:
335:
332:
329:
327:
324:
322:
319:
318:
314:
309:
305:
302:
298:
295:
291:
288:
284:
281:
278:
274:
271:
270:
266:
261:
254:
249:
246:
243:
240:
239:
235:
233:
229:
227:
223:
215:
211:
203:
198:
196:
192:
185:
183:
181:
176:JEE Connector
173:
168:
165:
163:
159:
155:
151:
147:
142:
140:
136:
132:
128:
124:
120:
116:
113:
109:
105:
102:
99:
95:
91:
81:
78:
70:
60:
56:
50:
49:
43:
39:
35:
30:
21:
20:
434:. Retrieved
430:the original
410:
385:
360:
351:Bibliography
230:
221:
199:
195:Entity Beans
189:
169:
166:
149:
143:
108:domain model
93:
89:
88:
73:
64:
53:Please help
45:
436:February 8,
337:DataNucleus
308:DataNucleus
301:DataNucleus
294:DataNucleus
287:DataNucleus
250:Get e.g. a
104:persistence
59:introducing
482:Categories
253:Connection
139:Apache JDO
123:interfaces
503:Java APIs
346:ActiveJPA
150:enhancers
67:June 2010
342:ObjectDB
315:See also
160:, or to
214:JSR 317
210:JSR 220
172:Java EE
135:JSR 243
115:classes
55:improve
422:
416:Apress
397:
372:
131:JSR 12
101:object
333:(JPA)
256:from
220:will
162:files
156:, to
154:RDBMS
119:POJOs
40:, or
438:2010
420:ISBN
395:ISBN
370:ISBN
277:JPOX
158:OODB
98:Java
279:1.1
222:not
146:XML
129:as
94:JDO
484::
182:.
164:.
44:,
36:,
440:.
403:.
378:.
117:(
92:(
80:)
74:(
69:)
65:(
51:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.