mirror of
https://github.com/doctrine/orm.git
synced 2026-03-23 22:42:18 +01:00
[PR #265] [CLOSED] [WIP] Mapping support for Embeddables (VOs). #7938
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/doctrine/orm/pull/265
Author: @guilhermeblanco
Created: 1/20/2012
Status: ❌ Closed
Base:
master← Head:DDC-93📝 Commits (3)
5ef2395Mapping support for Embeddables (VOs).d519074First round of refactorings after initial commit about VOs implementation after some valuable comments.cc960baMore work around Value Objects.📊 Changes
20 files changed (+748 additions, -135 deletions)
View changed files
📝
doctrine-mapping.xsd(+66 -43)📝
lib/Doctrine/ORM/Mapping/ClassMetadataFactory.php(+45 -9)📝
lib/Doctrine/ORM/Mapping/ClassMetadataInfo.php(+241 -29)📝
lib/Doctrine/ORM/Mapping/Driver/AnnotationDriver.php(+19 -4)📝
lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php(+2 -0)📝
lib/Doctrine/ORM/Mapping/Driver/XmlDriver.php(+20 -0)📝
lib/Doctrine/ORM/Mapping/Driver/YamlDriver.php(+19 -0)➕
lib/Doctrine/ORM/Mapping/Embeddable.php(+28 -0)➕
lib/Doctrine/ORM/Mapping/Embedded.php(+33 -0)📝
lib/Doctrine/ORM/Mapping/MappingException.php(+15 -1)📝
lib/Doctrine/ORM/Persisters/BasicEntityPersister.php(+132 -37)📝
lib/Doctrine/ORM/Persisters/JoinedSubclassPersister.php(+12 -3)📝
lib/Doctrine/ORM/Tools/SchemaTool.php(+36 -0)📝
lib/vendor/doctrine-dbal(+1 -1)➕
tests/Doctrine/Tests/Models/CMS/CmsParents.php(+34 -0)📝
tests/Doctrine/Tests/Models/CMS/CmsUser.php(+4 -0)📝
tests/Doctrine/Tests/ORM/Mapping/AbstractMappingDriverTest.php(+24 -0)📝
tests/Doctrine/Tests/ORM/Mapping/php/Doctrine.Tests.ORM.Mapping.User.php(+4 -0)📝
tests/Doctrine/Tests/ORM/Mapping/xml/Doctrine.Tests.ORM.Mapping.User.dcm.xml(+9 -7)📝
tests/Doctrine/Tests/ORM/Mapping/yaml/Doctrine.Tests.ORM.Mapping.User.dcm.yml(+4 -1)📄 Description
This patch is going to address: http://www.doctrine-project.org/jira/browse/DDC-93
Embeddable classes are a good way for organizing your domain model. Specially larger systems, which contains similar domain objects with similar properties.
This patch proposes a cleaner way to structure these duplicating attributes (and logic) into an @Embeddable object. Abstract the common information into an @Embeddedable object and use it as @Embedded.
Querying:
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.