Release Notes - Doctrine 2 - ORM - Version 2.1 - HTML format

Bug

  • [DDC-617] - ObjectHydrator issue with OneToMany relationship
  • [DDC-837] - Two children in inheritance with same property name causes error in hydration
  • [DDC-874] - orm:convert-mapping
  • [DDC-887] - Schema tool can throw errno 121 when creating or dropping indexes
  • [DDC-892] - Caches can potentially return false positives due to use of MD5 hash codes as keys. A classic.
  • [DDC-928] - Using uninitialised variable in lib/Doctrine/ORM/Tools/ConvertDoctrine1Schema.php
  • [DDC-931] - SchemaTool->dropSchema fails if the given schema doesn't exist
  • [DDC-942] - Query getSingleResult throws inappropiate exceptions.
  • [DDC-944] - MappingException::mappingNotFound() calls are wrong in ClassMetadataInfo
  • [DDC-945] - Crashing Bug: BasicEntityPersister::_getSelectColumnListSQL returns empty list, thus generating wrong SQL
  • [DDC-949] - strange behavior with boolean types when using findOneBy() in a CLI phpunit test
  • [DDC-953] - CLI tools orm:generate-entities --regenerate-entities=1 flag will generate empty entities 50% of time.
  • [DDC-955] - PostgresSQL + No identifier / primary key for Specified Entity 'Table'. Every Entity must have for an identifier / primary key.
  • [DDC-960] - Locking @Version with MappedSuperClass and Single Table Inheritance results in wrong queries
  • [DDC-961] - First letters are missing in M:N tables
  • [DDC-965] - Check for ID in CMF should be done after Event invocation
  • [DDC-966] - SchemaTool does not check for inherited fields in STI sub-classes and overwrites their column definitions to DEFAULT NULL
  • [DDC-969] - SchemaTool fails with class table inheritance if id columnName is not "id"
  • [DDC-978] - Many-To-Many relations are removed after Flush()
  • [DDC-980] - SQL alias behavior inconsistent in UPDATE ... WHERE (subselect)
  • [DDC-996] - Empty field names lead to weird exception
  • [DDC-997] - Call to undefined method isIdentifier in AbstractHydrator.php line 197
  • [DDC-1002] - bug in generate entities with many2many relationships from xml/yml shcemes
  • [DDC-1006] - Entity Generator Regenerate If Not New
  • [DDC-1008] - Entity Generator Stub Method For Id Generator
  • [DDC-1017] - mysql error when renaming a manyToOne property
  • [DDC-1018] - INDEX BY does not work in JOIN clauses
  • [DDC-1024] - the EntityGenerator generate getters and setters for properties of the parent class
  • [DDC-1034] - Registered lifecycle callbacks of derived classes have unexpected call sequence
  • [DDC-1036] - the Aggregate Expressions "AVG" | "MAX" | "MIN" | "SUM", should be followed by SimpleArithmeticExpression
  • [DDC-1041] - UnitOfWork tryGetById method is always called with the rootEntityName
  • [DDC-1043] - Unit of Work - computeChangeSet
  • [DDC-1056] - Using the StaticPHPDriver throws PHP Error Undefined property: Doctrine\ORM\Mapping\Driver\StaticPHPDriver::$_classNames
  • [DDC-1080] - AbstractHydrator ->_gatherRowData using wrong metadata info
  • [DDC-1104] - Require statement in AnnotationDriver.php can cause PHP Fatal error
  • [DDC-1110] - CTI Entities always trigger ->find even when I'm calling ->getReference
  • [DDC-1120] - AbstractQuery::useResultCache no return type in phpdoc
  • [DDC-1122] - Parsing OR conditions in Where clause throws an exception
  • [DDC-1126] - SchemaTool fails to dropSchema under SQLite due to ForeignKeyContraints checks
  • [DDC-1141] - DisconnectedClassMetadataFactory forbids direct XML-to-SQL conversion
  • [DDC-1156] - MappedSuperclass not allowed in the middle of an inheritance hierarchy
  • [DDC-1159] - From string used as object in QueryBuilder.php
  • [DDC-1163] - entity persister gets superclasses' metadata for proxied subclass entity
  • [DDC-1172] - Schema tool does not drop sequences on table drop for PostgreSql platform
  • [DDC-1173] - Fatal error when a listener resets an object in onFlush and recompute the changeset
  • [DDC-1176] - Error on proxy loading with foreign Key
  • [DDC-1184] - ORM\Id\AssignedGenerator try to current() on non-array
  • [DDC-1190] - Update the doctrine mapping schma in such way it will allow extending the final xml with data from different vendors
  • [DDC-1191] - fix the notices when converting between different mappings
  • [DDC-1192] - fix undefined variable in join-column section of xml driver
  • [DDC-1193] - cascadeRemove misses associations due to proxy not being initialized
  • [DDC-1194] - Problem using Instance of feature
  • [DDC-1196] - EntityGenerator: made it work with Doctrine Common 3.0.x
  • [DDC-1203] - Single Table Inheritance - Discriminator Column is not populated
  • [DDC-1204] - Single Table Inheritance - Columns of one hierarchy are dropped
  • [DDC-1209] - DateTime (and other custom object types) cannot be used in primary key (singular or composite)
  • [DDC-1211] - Expr::literal problem with numeric value 0
  • [DDC-1212] - Exception of mapping of ID generation strategy
  • [DDC-1214] - Call to undefined method Doctrine\ORM\Tools\Console\Command\SchemaTool\UpdateCommand::getFullName()
  • [DDC-1218] - Generator disappear with mappedSuperclass and in others common inheritance's cases
  • [DDC-1221] - Fatal Error when building a query using ->add() instead of ->from()
  • [DDC-1222] - Composite Primary Key is not recognized
  • [DDC-1223] - STI Inheritance Mapping Exception suggests to mark Entity abstract when initialization is not required, how to realize this?
  • [DDC-1224] - QueryBuilder delete issues CREATE TEMPORARY TABLE error on PostgreSQL
  • [DDC-1226] - OneToOne Unidirectional entities not persisting
  • [DDC-1227] - On 2.1 upgrade QueryBuilder incompatability getAlias() when using ''->add('select', 'sample')->add('from', 'Samply sample') instead of ->select('sample')->from('Sample', 'sample')
  • [DDC-1230] - entity state is not set to STATE_REMOVED when removing an entity
  • [DDC-1231] - In ObjectHydrator->_getEntity(...) looking for the discriminator should be in uppercase
  • [DDC-1233] - Minor spellcheck in UnitOfWork
  • [DDC-1238] - Proxy query executed, but object not initialized
  • [DDC-1239] - Using a repository with composite keys generates invalid SQL
  • [DDC-1281] - ORM uses BasicEntityPersister instead of JoinedSubclassPersister on a JOINED inheritance
  • [DDC-1309] - Doctrine_Collection toArray() does not return results of table joins.

Documentation

  • [DDC-1270] - Incorrect QueryBuilder example

Improvement

  • [DDC-170] - Smarter IN() query mapping
  • [DDC-696] - Add onClear Event
  • [DDC-943] - EntityRepository::findBy should support multiple values on criteria fetching
  • [DDC-958] - postLoad event triggering
  • [DDC-968] - Query hints should be retrievable by user
  • [DDC-982] - Make SQLWalker::getSQLTableAlias() more unique with dql aliases
  • [DDC-1012] - Add isNull($param) and isNotNull($param) to querybuilder
  • [DDC-1014] - Evaluate common date related functions for DQL inclusion
  • [DDC-1025] - Please repalce 'Doctrine\XXX\YYY' with '\Doctrine\XXX\YYY' in code and document
  • [DDC-1029] - renaming "load()" in proxy to "__load()"
  • [DDC-1094] - Add Order and Limit to EntityRepository::findBy()
  • [DDC-1125] - Allow return data of Closure on EntityManager::transactional
  • [DDC-1133] - DuckType AnnotationReader in AnnotationDriver
  • [DDC-1147] - Allow 0-based InputParameters in DQL
  • [DDC-1148] - [Patch] Auto infer parameter type in DQL
  • [DDC-1168] - Implemented tableName -> className and columnName -> fieldName mapping in DatabaseDriver.
  • [DDC-1285] - Select by multiple ids

New Feature

  • [DDC-117] - Allow @Id on @ManyToOne fields
  • [DDC-250] - ArrayCollection Key Column @indexBy
  • [DDC-546] - New fetch mode EXTRA_LAZY for collections
  • [DDC-694] - Add info Command that shows Entities and Mapping Directories
  • [DDC-701] - Code generation for DQL queries
  • [DDC-1059] - Add helper for ResultSetMapping
  • [DDC-1179] - Allow to specify namespace prefix in combination with --from-database

Sub-task

  • [DDC-53] - Introduce batching of eager loads
  • [DDC-692] - Read-only entities
  • [DDC-733] - Implement a way of forcing a PersistentCollection to initialize itself
  • [DDC-734] - Possibility to fetch all outstanding proxies of an Entity
  • [DDC-795] - Wrong SQL statement when using loadOneToManyCollection
  • [DDC-865] - Passing an array as parameter
  • [DDC-881] - DDC-117: Linked Objects with composite key
  • [DDC-914] - Use JOIN for Fetch=EAGER ManyToOne and OneToOne in Persisters
  • [DDC-922] - Persisting an entity with an 1:n collection of related entites fails if the FK ist part of a composite PK
  • [DDC-929] - A index has to be named as "primary" to be detected Doctrine\ORM\Mapping\Driver\DatabaseDriver::loadMetadataForClass()
  • [DDC-963] - @OneToOne inverse side executes queries even if object is in IdentityMap
  • [DDC-991] - Add method "getFirstResult()" that returns null on no result
  • [DDC-1060] - Use Hydrators inside Persisters

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.