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

Bug

  • [DDC-979] - ArrayHydrator::updateResultPointer() must be an array, string given
  • [DDC-1013] - Possible issue with multiple levels of Mappedsuperclasses and wrong sql table aliases
  • [DDC-1022] - Wakeup behavior difference between proxy and eager-loaded instance
  • [DDC-1071] - CASE expressions do not work as documented in EBNF
  • [DDC-1131] - Couldn't find a class in a subselect
  • [DDC-1150] - BasicEntityPersister::expandParameters does not check assiciation mapping when expanding parameters
  • [DDC-1161] - DQL generate duplicate SQL Alias with CTI + oneToOne self referencing
  • [DDC-1225] - Invalid SQL generated (extra comma) when joining to entity with composite PK
  • [DDC-1251] - EntityGenerator uses non-existing constant T_AMPERSAND
  • [DDC-1257] - Duplicate PHP methods generated from XML metadata lifecycle-callbacks
  • [DDC-1271] - Failing tests for PostgreSQL
  • [DDC-1284] - Inheritance fails in JOIN query
  • [DDC-1286] - Change typo in ORMException
  • [DDC-1290] - Version fields do not accept smallint and bigint
  • [DDC-1293] - Update DQL function signature in documentation
  • [DDC-1330] - Doctrine CLI and additional things like Migrations
  • [DDC-1344] - Command Tool does not display the directory name when "destination directory" error occurs
  • [DDC-1358] - Native Query hydration ignores empty entity doublons
  • [DDC-1360] - Reserved words escaping fails when using multiple reserved words
  • [DDC-1365] - Use getQuotedTableName() consistently in all SQL
  • [DDC-1368] - incorrect mapping not detected by orm:validate-schema
  • [DDC-1383] - Inheritance superclass object is created after merging entity referencing to discriminated entity
  • [DDC-1384] - ORA-00972: identifier is too long
  • [DDC-1385] - INDEX BY doesn't work for selects with scalars only
  • [DDC-1395] - [Doctrine cache clear-result] - wrong function is used
  • [DDC-1396] - [APC Cache] "clear-cache" commands do not work with cli
  • [DDC-1404] - Named Queries not inherited in JOINED Inheritance
  • [DDC-1411] - onCascade property gets wrong value when entities are generated
  • [DDC-1416] - bug in simple test with sub query
  • [DDC-1417] - entity generator does not support nullable relationship
  • [DDC-1430] - GROUP BY $alias in Oracle
  • [DDC-1437] - Strange behavior with proxied classes,expected to get entity, but returned identifier.
  • [DDC-1439] - Saving many to many association with composed keys.
  • [DDC-1442] - SimpleObject hydratation mode with inheritance
  • [DDC-1447] - <orphan-removal /> BC?
  • [DDC-1452] - ObjectHydrator bug: hydration of entity with self (cyclic) relation through ref entity
  • [DDC-1456] - Sequence doesn't work correctly when sequence is defined second in a composite key
  • [DDC-1458] - Issue with tracking entity changes
  • [DDC-1461] - Possible Regression with OneToOne relation
  • [DDC-1472] - WHERE <<function>> IN ... doesn't work
  • [DDC-1476] - Yaml Driver doesn't default field types to string
  • [DDC-1478] - GH-175: added EntityRepository::getClassName()
  • [DDC-1479] - GH-169: preFlush event and lifecycle callback
  • [DDC-1481] - GH-158: Collapsed cascade elements, if cascade-all.
  • [DDC-1490] - Generated Ids with Sequence/Auto Increment Generators not always casted to int
  • [DDC-1491] - Bug in SchemaValidator diffing join columns
  • [DDC-1492] - Fatall error: Cannot use object as array in ORM\Internal\Hydration\ObjectHydrator.php on line 314
  • [DDC-1508] - ClassMetadataBuilder only accepts ClassMetadata not *Info
  • [DDC-1517] - find/getReference break on invalid or missing identifier fields
  • [DDC-1523] - Coalesce() does not work with functions
  • [DDC-1524] - NamedQueries annotation doesn't work with just one NamedQuery
  • [DDC-1526] - Unecessary queries with LEFT JOIN
  • [DDC-1536] - GH-213: QueryBuilder::getQuery
  • [DDC-1537] - GH-214: Fixed typo in the XmlDriver
  • [DDC-1539] - QueryException occurs when parentheses exist on the left-hand of comparison
  • [DDC-1541] - ClassMetadataBuilder has some name discrepancy in calls to AssociationBuilder methods
  • [DDC-1545] - Update on loaded association not detected upon flush()
  • [DDC-1546] - another incorrect mapping not detected by orm:validate-schema
  • [DDC-1547] - GH-228: Fixed testsuite
  • [DDC-1548] - One to one entity badly populated
  • [DDC-1554] - GH-235: Allow ExporterDrivers that implement the exportClassMetadata() function to return false
  • [DDC-1561] - GH-239: Fix $qb->expr() PHPDoc @return type.
  • [DDC-1585] - Doctrine2 doesn't check for the correct entity type on @ManyToOne relations
  • [DDC-1594] - Merging serialized entity back to the UnitOfWork
  • [DDC-1598] - ProxyFactory makes assumptions on identifier getter code
  • [DDC-1601] - Schema Validator wrong on entities with pk as fk
  • [DDC-1603] - Unique key name isn't correctly set
  • [DDC-1606] - Added fix for collection->contains with many-to-many extra lazy fetchMode
  • [DDC-1608] - Lazy load more restrict when consuming PersistentCollection trigger actions to *Persisters
  • [DDC-1609] - Weird testerror on PostgreSQL
  • [DDC-1610] - Associations loaded in 'loadClassMetadata' event are not well initialized inside ClassMetadata
  • [DDC-1612] - Cannot call entityManager->flush($entity) with new entity
  • [DDC-1617] - EntityGenerator does not create uniqueConstraints annotations
  • [DDC-1618] - Query::Iterate() with fetch join exception but no associaiton selected
  • [DDC-1619] - Missing QueryBuilder::distinct() method
  • [DDC-1620] - Partial merge of PR261
  • [DDC-1641] - [Tests] Wrong tearDown() in UnitOfWorkTest
  • [DDC-2148] - Many-to-many not working with interface

Documentation

  • [DDC-934] - Parameter binding documentation inconsistency
  • [DDC-1295] - Sandbox Sample Code which shall go into cli-config.php and index.php for EntityManager working with yaml is wrong
  • [DDC-1457] - Wrong return annotation for UnitOfWork::getEntityPersister() method
  • [DDC-1531] - Documentation references no-longer available constant Lexer::T_ABS

Improvement

  • [DDC-3] - Support for CASE expressions in DQL
  • [DDC-217] - Result cache should cache the SQL result and not the final objects
  • [DDC-408] - accepting array of values per conditions rather than scalar only for find() and findBy() methods
  • [DDC-446] - Cached resultset do not add Entities in UnitOfWork
  • [DDC-509] - Documentation for Implementing Event Listeners is incomplete
  • [DDC-551] - Consider adding ability to specify additional join conditions on a @JoinTable / @JoinColumn
  • [DDC-609] - Refactor ComparisonExpression grammar rule
  • [DDC-638] - Extend SqlWalker
  • [DDC-720] - Ability to call flush only for a given entity
  • [DDC-744] - invalid onDelete value inside of @JoinColumn annotation throws an exception instead of valueable error message
  • [DDC-766] - Parameter not used in OrmTestCase
  • [DDC-972] - MySql MyISAM support
  • [DDC-1025] - Please repalce 'Doctrine\XXX\YYY' with '\Doctrine\XXX\YYY' in code and document
  • [DDC-1057] - The methods of ResultSetMapping should return the current object
  • [DDC-1073] - Refactor SqlWalker::walkGroupByItem not to use PathExpression anymore but accept strings (identification variable) aswell
  • [DDC-1107] - Make QueryBuilder's setParameters method mirror the behavior of AbstractQuery's
  • [DDC-1116] - Sort by association id
  • [DDC-1165] - [ Proposal] entityMethod#find() for Entity with ForeignKey as PrimaryKey, pass entity object instead of id
  • [DDC-1213] - Make Bit comparsion available
  • [DDC-1235] - Provide fluent interfaces in stub methods
  • [DDC-1236] - GROUP BY does not work with functions
  • [DDC-1260] - Enable nesting of OR and AND statements in DQL queries
  • [DDC-1277] - BasicEntityPersister::expandParameters() will check associations
  • [DDC-1285] - Select by multiple ids
  • [DDC-1325] - Adding @Target to annotations
  • [DDC-1331] - Add IN(...) support to INSTANCE OF
  • [DDC-1338] - @Entity(repositoryClass) could support short namespace support
  • [DDC-1343] - Github-PR-105 by domnikl: DDC-1278 - EntityManager::clear($entity) support
  • [DDC-1351] - Github-PR-111 by Gregwar: [Tools] Added entityRepository support in yaml exporter
  • [DDC-1422] - Do not load entities when an identifier is retrieved from a proxy
  • [DDC-1424] - Make order in DQL SELECT clause matter for hydration
  • [DDC-1446] - Evaluate to configure default "persist cascade" for all enties.
  • [DDC-1448] - Add a base entity to allow users to skip writing boilerplate code
  • [DDC-1463] - Inner join eagerly loaded entities if possible
  • [DDC-1468] - Exception verbose: Id in a mapped-superclass
  • [DDC-1482] - GH-160: Allow to unset one-to-one relation with generated class
  • [DDC-1502] - SQLite should eat prefixed tables (since they dont exist)
  • [DDC-1577] - Remove static Reflection dependency from ClassMetadata
  • [DDC-1588] - There is no way to get the Query's result cache impl without going to EM
  • [DDC-1604] - Implement Common Proxy
  • [DDC-1653] - command line cache clear commands clear everything from caches including non Doctrine related caches

New Feature

  • [DDC-209] - Add the notion of read-only entities
  • [DDC-659] - Programmatic PHP ClassMetadata Builder
  • [DDC-687] - Add New Entity Attribute "idGetter" to allow accessing the ID without triggering lazy-load
  • [DDC-753] - RepositoryClass for MappedSuperclass or other global set custom repository
  • [DDC-952] - Several features to batch eager selects more efficently
  • [DDC-1100] - INSTANCE OF and IN in QueryBuilder
  • [DDC-1170] - XML Mapping : add attribute "column-definition" for tag "id"
  • [DDC-1258] - Add Debug Listener for UnitOfWork
  • [DDC-1272] - Ability to choose another column name than ID as automatic record identifier in generate:doctrine:crude
  • [DDC-1278] - EntityManager::clear($entity) support
  • [DDC-1288] - Column Name
  • [DDC-1339] - New DQL function: IDENTITY(SingleValuedAssociationPathExpression)
  • [DDC-1418] - Integrate Simplified XML/YML Drivers from Symfony
  • [DDC-1455] - Selecting association id (FK) without join
  • [DDC-1503] - Add support for executing custom SQL functions on custom types
  • [DDC-1544] - Interfaces as target entity + event to resolve them to an implementation
  • [DDC-1613] - Add Pagination Tools

Task

  • [DDC-725] - Consider removing onUpdate attribute from join column mappings

Sub-task

Edit/Copy Release Notes

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