diff --git a/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php b/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
index 3f65da3c5..8bfda6450 100644
--- a/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
+++ b/lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php
@@ -327,7 +327,7 @@ class ClassMetadataFactory implements ClassMetadataFactoryInterface
if (!$class->discriminatorColumn) {
throw MappingException::missingDiscriminatorColumn($class->name);
}
- } else if ($parent && !in_array($class->name, array_values($class->discriminatorMap))) {
+ } else if ($parent && !$class->reflClass->isAbstract() && !in_array($class->name, array_values($class->discriminatorMap))) {
// enforce discriminator map for all entities of an inheritance hierachy, otherwise problems will occur.
throw MappingException::mappedClassNotPartOfDiscriminatorMap($class->name, $class->rootEntityName);
}
diff --git a/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php b/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php
index 84d2cd1c8..532ee1c77 100644
--- a/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php
+++ b/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php
@@ -23,24 +23,41 @@ use Doctrine\Common\Annotations\Annotation;
/* Annotations */
+/** @Annotation */
final class Entity extends Annotation {
public $repositoryClass;
public $readOnly = false;
}
+
+/** @Annotation */
final class MappedSuperclass extends Annotation {}
+
+/** @Annotation */
final class InheritanceType extends Annotation {}
+
+/** @Annotation */
final class DiscriminatorColumn extends Annotation {
public $name;
public $fieldName; // field name used in non-object hydration (array/scalar)
public $type;
public $length;
}
+
+/** @Annotation */
final class DiscriminatorMap extends Annotation {}
+
+/** @Annotation */
final class Id extends Annotation {}
+
+/** @Annotation */
final class GeneratedValue extends Annotation {
public $strategy = 'AUTO';
}
+
+/** @Annotation */
final class Version extends Annotation {}
+
+/** @Annotation */
final class JoinColumn extends Annotation {
public $name;
public $fieldName; // field name used in non-object hydration (array/scalar)
@@ -51,7 +68,11 @@ final class JoinColumn extends Annotation {
public $onUpdate;
public $columnDefinition;
}
+
+/** @Annotation */
final class JoinColumns extends Annotation {}
+
+/** @Annotation */
final class Column extends Annotation {
public $type = 'string';
public $length;
@@ -65,6 +86,8 @@ final class Column extends Annotation {
public $options = array();
public $columnDefinition;
}
+
+/** @Annotation */
final class OneToOne extends Annotation {
public $targetEntity;
public $mappedBy;
@@ -73,6 +96,8 @@ final class OneToOne extends Annotation {
public $fetch = 'LAZY';
public $orphanRemoval = false;
}
+
+/** @Annotation */
final class OneToMany extends Annotation {
public $mappedBy;
public $targetEntity;
@@ -81,12 +106,16 @@ final class OneToMany extends Annotation {
public $orphanRemoval = false;
public $indexBy;
}
+
+/** @Annotation */
final class ManyToOne extends Annotation {
public $targetEntity;
public $cascade;
public $fetch = 'LAZY';
public $inversedBy;
}
+
+/** @Annotation */
final class ManyToMany extends Annotation {
public $targetEntity;
public $mappedBy;
@@ -95,50 +124,83 @@ final class ManyToMany extends Annotation {
public $fetch = 'LAZY';
public $indexBy;
}
+
+/** @Annotation */
final class ElementCollection extends Annotation {
public $tableName;
}
+
+/** @Annotation */
final class Table extends Annotation {
public $name;
public $schema;
public $indexes;
public $uniqueConstraints;
}
+
+/** @Annotation */
final class UniqueConstraint extends Annotation {
public $name;
public $columns;
}
+
+/** @Annotation */
final class Index extends Annotation {
public $name;
public $columns;
}
+
+/** @Annotation */
final class JoinTable extends Annotation {
public $name;
public $schema;
public $joinColumns = array();
public $inverseJoinColumns = array();
}
+
+/** @Annotation */
final class SequenceGenerator extends Annotation {
public $sequenceName;
public $allocationSize = 1;
public $initialValue = 1;
}
+
+/** @Annotation */
final class ChangeTrackingPolicy extends Annotation {}
+
+/** @Annotation */
final class OrderBy extends Annotation {}
+/** @Annotation */
final class NamedQueries extends Annotation {}
+
+/** @Annotation */
final class NamedQuery extends Annotation {
public $name;
public $query;
}
/* Annotations for lifecycle callbacks */
+/** @Annotation */
final class HasLifecycleCallbacks extends Annotation {}
-final class PrePersist extends Annotation {}
-final class PostPersist extends Annotation {}
-final class PreUpdate extends Annotation {}
-final class PostUpdate extends Annotation {}
-final class PreRemove extends Annotation {}
-final class PostRemove extends Annotation {}
-final class PostLoad extends Annotation {}
+/** @Annotation */
+final class PrePersist extends Annotation {}
+
+/** @Annotation */
+final class PostPersist extends Annotation {}
+
+/** @Annotation */
+final class PreUpdate extends Annotation {}
+
+/** @Annotation */
+final class PostUpdate extends Annotation {}
+
+/** @Annotation */
+final class PreRemove extends Annotation {}
+
+/** @Annotation */
+final class PostRemove extends Annotation {}
+
+/** @Annotation */
+final class PostLoad extends Annotation {}
diff --git a/lib/Doctrine/ORM/Version.php b/lib/Doctrine/ORM/Version.php
index 7041ecf03..e459dceb6 100644
--- a/lib/Doctrine/ORM/Version.php
+++ b/lib/Doctrine/ORM/Version.php
@@ -36,7 +36,7 @@ class Version
/**
* Current Doctrine Version
*/
- const VERSION = '2.1.0RC2-DEV';
+ const VERSION = '2.1.0-DEV';
/**
* Compares a Doctrine version with the current one.
diff --git a/lib/vendor/doctrine-common b/lib/vendor/doctrine-common
index 565674b9b..6a74bf90f 160000
--- a/lib/vendor/doctrine-common
+++ b/lib/vendor/doctrine-common
@@ -1 +1 @@
-Subproject commit 565674b9b376edbc5e31070e91fd85ea6dbd5d60
+Subproject commit 6a74bf90f5fcf6b404f49aee6c11b78fbd568c6c
diff --git a/lib/vendor/doctrine-dbal b/lib/vendor/doctrine-dbal
index 2cb22496a..be3790059 160000
--- a/lib/vendor/doctrine-dbal
+++ b/lib/vendor/doctrine-dbal
@@ -1 +1 @@
-Subproject commit 2cb22496a732029373d98ff9e4d54a7187ee9bb8
+Subproject commit be3790059cc43b674a55548eb42d5d25846ea6a9
diff --git a/tests/Doctrine/Tests/ORM/Tools/Export/xml/Doctrine.Tests.ORM.Tools.Export.User.dcm.xml b/tests/Doctrine/Tests/ORM/Tools/Export/xml/Doctrine.Tests.ORM.Tools.Export.User.dcm.xml
index 11bb6ac95..de638b236 100644
--- a/tests/Doctrine/Tests/ORM/Tools/Export/xml/Doctrine.Tests.ORM.Tools.Export.User.dcm.xml
+++ b/tests/Doctrine/Tests/ORM/Tools/Export/xml/Doctrine.Tests.ORM.Tools.Export.User.dcm.xml
@@ -26,12 +26,12 @@
-
-
-
+
+
+