1
0
mirror of synced 2025-01-17 22:11:41 +03:00

Merge branch 'master' of github.com:doctrine/doctrine2

This commit is contained in:
Benjamin Eberlei 2011-06-30 20:10:05 +02:00
commit e32e141012
6 changed files with 76 additions and 14 deletions

View File

@ -327,7 +327,7 @@ class ClassMetadataFactory implements ClassMetadataFactoryInterface
if (!$class->discriminatorColumn) { if (!$class->discriminatorColumn) {
throw MappingException::missingDiscriminatorColumn($class->name); 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. // enforce discriminator map for all entities of an inheritance hierachy, otherwise problems will occur.
throw MappingException::mappedClassNotPartOfDiscriminatorMap($class->name, $class->rootEntityName); throw MappingException::mappedClassNotPartOfDiscriminatorMap($class->name, $class->rootEntityName);
} }

View File

@ -23,24 +23,41 @@ use Doctrine\Common\Annotations\Annotation;
/* Annotations */ /* Annotations */
/** @Annotation */
final class Entity extends Annotation { final class Entity extends Annotation {
public $repositoryClass; public $repositoryClass;
public $readOnly = false; public $readOnly = false;
} }
/** @Annotation */
final class MappedSuperclass extends Annotation {} final class MappedSuperclass extends Annotation {}
/** @Annotation */
final class InheritanceType extends Annotation {} final class InheritanceType extends Annotation {}
/** @Annotation */
final class DiscriminatorColumn extends Annotation { final class DiscriminatorColumn extends Annotation {
public $name; public $name;
public $fieldName; // field name used in non-object hydration (array/scalar) public $fieldName; // field name used in non-object hydration (array/scalar)
public $type; public $type;
public $length; public $length;
} }
/** @Annotation */
final class DiscriminatorMap extends Annotation {} final class DiscriminatorMap extends Annotation {}
/** @Annotation */
final class Id extends Annotation {} final class Id extends Annotation {}
/** @Annotation */
final class GeneratedValue extends Annotation { final class GeneratedValue extends Annotation {
public $strategy = 'AUTO'; public $strategy = 'AUTO';
} }
/** @Annotation */
final class Version extends Annotation {} final class Version extends Annotation {}
/** @Annotation */
final class JoinColumn extends Annotation { final class JoinColumn extends Annotation {
public $name; public $name;
public $fieldName; // field name used in non-object hydration (array/scalar) public $fieldName; // field name used in non-object hydration (array/scalar)
@ -51,7 +68,11 @@ final class JoinColumn extends Annotation {
public $onUpdate; public $onUpdate;
public $columnDefinition; public $columnDefinition;
} }
/** @Annotation */
final class JoinColumns extends Annotation {} final class JoinColumns extends Annotation {}
/** @Annotation */
final class Column extends Annotation { final class Column extends Annotation {
public $type = 'string'; public $type = 'string';
public $length; public $length;
@ -65,6 +86,8 @@ final class Column extends Annotation {
public $options = array(); public $options = array();
public $columnDefinition; public $columnDefinition;
} }
/** @Annotation */
final class OneToOne extends Annotation { final class OneToOne extends Annotation {
public $targetEntity; public $targetEntity;
public $mappedBy; public $mappedBy;
@ -73,6 +96,8 @@ final class OneToOne extends Annotation {
public $fetch = 'LAZY'; public $fetch = 'LAZY';
public $orphanRemoval = false; public $orphanRemoval = false;
} }
/** @Annotation */
final class OneToMany extends Annotation { final class OneToMany extends Annotation {
public $mappedBy; public $mappedBy;
public $targetEntity; public $targetEntity;
@ -81,12 +106,16 @@ final class OneToMany extends Annotation {
public $orphanRemoval = false; public $orphanRemoval = false;
public $indexBy; public $indexBy;
} }
/** @Annotation */
final class ManyToOne extends Annotation { final class ManyToOne extends Annotation {
public $targetEntity; public $targetEntity;
public $cascade; public $cascade;
public $fetch = 'LAZY'; public $fetch = 'LAZY';
public $inversedBy; public $inversedBy;
} }
/** @Annotation */
final class ManyToMany extends Annotation { final class ManyToMany extends Annotation {
public $targetEntity; public $targetEntity;
public $mappedBy; public $mappedBy;
@ -95,50 +124,83 @@ final class ManyToMany extends Annotation {
public $fetch = 'LAZY'; public $fetch = 'LAZY';
public $indexBy; public $indexBy;
} }
/** @Annotation */
final class ElementCollection extends Annotation { final class ElementCollection extends Annotation {
public $tableName; public $tableName;
} }
/** @Annotation */
final class Table extends Annotation { final class Table extends Annotation {
public $name; public $name;
public $schema; public $schema;
public $indexes; public $indexes;
public $uniqueConstraints; public $uniqueConstraints;
} }
/** @Annotation */
final class UniqueConstraint extends Annotation { final class UniqueConstraint extends Annotation {
public $name; public $name;
public $columns; public $columns;
} }
/** @Annotation */
final class Index extends Annotation { final class Index extends Annotation {
public $name; public $name;
public $columns; public $columns;
} }
/** @Annotation */
final class JoinTable extends Annotation { final class JoinTable extends Annotation {
public $name; public $name;
public $schema; public $schema;
public $joinColumns = array(); public $joinColumns = array();
public $inverseJoinColumns = array(); public $inverseJoinColumns = array();
} }
/** @Annotation */
final class SequenceGenerator extends Annotation { final class SequenceGenerator extends Annotation {
public $sequenceName; public $sequenceName;
public $allocationSize = 1; public $allocationSize = 1;
public $initialValue = 1; public $initialValue = 1;
} }
/** @Annotation */
final class ChangeTrackingPolicy extends Annotation {} final class ChangeTrackingPolicy extends Annotation {}
/** @Annotation */
final class OrderBy extends Annotation {} final class OrderBy extends Annotation {}
/** @Annotation */
final class NamedQueries extends Annotation {} final class NamedQueries extends Annotation {}
/** @Annotation */
final class NamedQuery extends Annotation { final class NamedQuery extends Annotation {
public $name; public $name;
public $query; public $query;
} }
/* Annotations for lifecycle callbacks */ /* Annotations for lifecycle callbacks */
/** @Annotation */
final class HasLifecycleCallbacks extends 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 {}

View File

@ -36,7 +36,7 @@ class Version
/** /**
* Current Doctrine Version * Current Doctrine Version
*/ */
const VERSION = '2.1.0RC2-DEV'; const VERSION = '2.1.0-DEV';
/** /**
* Compares a Doctrine version with the current one. * Compares a Doctrine version with the current one.

@ -1 +1 @@
Subproject commit 565674b9b376edbc5e31070e91fd85ea6dbd5d60 Subproject commit 6a74bf90f5fcf6b404f49aee6c11b78fbd568c6c

@ -1 +1 @@
Subproject commit 2cb22496a732029373d98ff9e4d54a7187ee9bb8 Subproject commit be3790059cc43b674a55548eb42d5d25846ea6a9

View File

@ -26,12 +26,12 @@
</one-to-one> </one-to-one>
<one-to-many field="phonenumbers" target-entity="Doctrine\Tests\ORM\Tools\Export\Phonenumber" mapped-by="user"> <one-to-many field="phonenumbers" target-entity="Doctrine\Tests\ORM\Tools\Export\Phonenumber" mapped-by="user">
<order-by>
<order-by-field name="number" direction="ASC" />
</order-by>
<cascade> <cascade>
<cascade-persist/> <cascade-persist/>
</cascade> </cascade>
<order-by>
<order-by-field name="number" direction="ASC" />
</order-by>
</one-to-many> </one-to-many>
<many-to-many field="groups" target-entity="Doctrine\Tests\ORM\Tools\Export\Group"> <many-to-many field="groups" target-entity="Doctrine\Tests\ORM\Tools\Export\Group">