blob: 88a9d0b560d78ce11f184d7bf811e6b3bffd6f8b [file] [log] [blame]
:_basedir:
:_imagesdir: images/
:notoc:
:grid: cols
:general:
[[index]]
== Which ORM specification ?anchor:Which_ORM_specification_[]
There are 2 prevalent specification in the Java ORM world. JDO provides
the most complete definition, whilst JPA is the most recent.
=== Relationshipsanchor:Relationships[]
In this guide we show the different types of ORM relation commonly used,
and mark against it which specification supports it. This list is not
yet complete but will be added to to provide a comprehensive list of
relationship type and where you can find it.
[cols=",,,",options="header",]
|===
|Field Type |Relation |JDO |JPA
|PC
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_one.html#uni[1-1
Unidirectional] |image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|PC
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_one.html#bi[1-1
Bidirectional] |image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|PC
|http://www.datanucleus.org/products/accessplatform/jdo/orm/serialised.html#PC[1-1
serialised] |image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|PC
|http://www.datanucleus.org/products/accessplatform/jdo/orm/compound_identity.html#1_1_uni[1-1
CompoundIdentity Unidirectional]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|PC
|http://www.datanucleus.org/products/accessplatform/jdo/orm/compound_identity.html#1_N_coll_bi[1-N
CompoundIdentity Collection Bidirectional]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|PC
|http://www.datanucleus.org/products/accessplatform/jdo/orm/compound_identity.html#1_N_map_bi[1-N
CompoundIdentity Map Bidirectional]
|image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|Interface
|http://www.datanucleus.org/products/accessplatform/jdo/orm/interfaces.html[1-1
Unidirectional] |image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|Interface
|http://www.datanucleus.org/products/accessplatform/jdo/orm/interfaces.html[1-1
Bidirectional] |image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|Interface
|http://www.datanucleus.org/products/accessplatform/jdo/orm/serialised.html#Reference[1-1
serialised] |image:images/icon_success_sml.png[image] |?
|Collection<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_collection.html#fk_uni[1-N
ForeignKey Unidirectional Collection]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Collection<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_collection.html#fk_bi[1-N
ForeignKey Bidirectional Collection]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Collection<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_collection.html#join_uni[1-N
JoinTable Unidirectional Collection]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Collection<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_collection.html#join_bi[1-N
JoinTable Bidirectional Collection]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Collection<Non-PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_collection.html#join_nonpc[1-N
JoinTable Collection] |image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Collection<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_collection.html#shared_join[1-N
JoinTable Collection using shared JoinTable]
|image:images/icon_error_sml.png[image]
|image:images/icon_error_sml.png[image]
|Collection<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_collection.html#shared_fk[1-N
ForeignKey Collection using shared ForeignKey]
|image:images/icon_error_sml.png[image]
|image:images/icon_error_sml.png[image]
|Collection<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/many_to_many.html[M-N
JoinTable] |image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Collection<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/compound_identity.html#1_N_uni[1-N
CompoundIdentity Unidirectional]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Collection<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/serialised.html#Collection[1-N
serialised Collection] |image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Collection<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/serialised.html#CollectionElements[1-N
JoinTable Collection of serialised elements]
|image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|List<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_list.html#fk_uni[1-N
ForeignKey Unidirectional Indexed List]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|List<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_list.html#fk_bi[1-N
ForeignKey Bidirectional Indexed List]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|List<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_list.html#join_uni[1-N
JoinTable Unidirectional Indexed List]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|List<PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_list.html#join_bi[1-N
JoinTable Bidirectional Indexed List]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|List<Non-PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_list.html#join_nonpc[1-N
JoinTable Indexed List] |image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|List<PC>
|http://www.datanucleus.org/products/accessplatform/jpa/orm/one_to_many_list.html#fk_uni[1-N
ForeignKey Unidirectional Ordered List]
|image:images/icon_error_sml.png[image]
|image:images/icon_success_sml.png[image]
|List<PC>
|http://www.datanucleus.org/products/accessplatform/jpa/orm/one_to_many_list.html#fk_bi[1-N
ForeignKey Bidirectional Ordered List]
|image:images/icon_error_sml.png[image]
|image:images/icon_success_sml.png[image]
|List<PC>
|http://www.datanucleus.org/products/accessplatform/jpa/orm/one_to_many_list.html#join_uni[1-N
JoinTable Unidirectional Ordered List]
|image:images/icon_error_sml.png[image]
|image:images/icon_success_sml.png[image]
|List<PC>
|http://www.datanucleus.org/products/accessplatform/jpa/orm/one_to_many_list.html#join_bi[1-N
JoinTable Bidirectional Ordered List]
|image:images/icon_error_sml.png[image]
|image:images/icon_success_sml.png[image]
|Map<PC, PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_map.html#join_pc_pc[1-N
JoinTable Map] |image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|Map<Non-PC, PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_map.html#join_simple_pc[1-N
JoinTable Map] |image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|Map<PC, Non-PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_map.html#join_pc_simple[1-N
JoinTable Map] |image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|Map<Non-PC, Non-PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_map.html#join_simple_simple[1-N
JoinTable Map] |image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|Map<Non-PC, PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_map.html#fk_uni_key[1-N
ForeignKey Map Unidirectional (key stored in value)]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Map<Non-PC, PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_map.html#fk_bi_key[1-N
ForeignKey Map Bidirectional (key stored in value)]
|image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Map<PC, Non-PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/one_to_many_map.html#fk_uni_value[1-N
ForeignKey Map Unidirectional (value stored in key)]
|image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|Map<PC, PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/serialised.html#Map[1-N
serialised Map] |image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Map<PC, PC>
|http://www.datanucleus.org/products/accessplatform/jdo/orm/serialised.html#MapKeysValues[1-N
JoinTable Map of serialised keys/values]
|image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|PC[ ]
|http://www.datanucleus.org/products/accessplatform/jdo/orm/arrays.html#fk[1-N
ForeignKey Unidirectional Array]
|image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|PC[ ]
|http://www.datanucleus.org/products/accessplatform/jdo/orm/arrays.html#join[1-N
JoinTable Unidirectional Array]
|image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|PC[ ]
|http://www.datanucleus.org/products/accessplatform/jdo/orm/serialised.html#Array[1-N
serialised Array] |image:images/icon_success_sml.png[image]
|image:images/icon_success_sml.png[image]
|Non-PC[ ]
|http://www.datanucleus.org/products/accessplatform/jdo/orm/arrays.html#join[1-N
JoinTable Unidirectional Array]
|image:images/icon_success_sml.png[image]
|image:images/icon_error_sml.png[image]
|===