Details
-
Type:
Improvement
-
Status:
Open
-
Priority:
Trivial
-
Resolution: Unresolved
-
Affects Version/s: 2.1.1
-
Fix Version/s: None
-
Component/s: Mapping Drivers, ORM, Tools
-
Security Level: All
-
Labels:None
-
Environment:Fedora 15, php 5.3.8
Description
When having a OneToOne mapping that has a primary key that is the same as the foreign key, using the @Id attribute does not carry over when generating entities.
Example code:
class User
{
/**
- @Id @Column(type="integer", nullable=false, columnDefinition="INT UNSIGNED NOT NULL AUTO_INCREMENT")
- @GeneratedValue(strategy="AUTO")
*/
private $id;
/**
- @OneToOne(targetEntity="User_ExtraAttrs", cascade=
{"persist","remove","detach","merge","refresh"}
, mappedBy="User")
- @JoinColumn(name="id", referencedColumnName="id")
*/
private $UserAttrs;
}
class User_ExtraAttrs
{
/**
- @OneToOne(targetEntity="User", cascade=
{"all"}
, inversedBy="UserAttrs")
- @Id
- @JoinColumn(name="VehicleID", referencedColumnName="VehicleID")
*/
private $User;
}
When running "doctrine orm:generate-entities --regenerate-entities=1 --generate-annotations=1", the @Id in User_ExtraAttrs does not carry over. It must be manually inserted.
Activity
Benjamin Eberlei
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Workflow | jira [ 13379 ] | jira-feedback [ 14014 ] |
Benjamin Eberlei
made changes -
| Workflow | jira-feedback [ 14014 ] | jira-feedback2 [ 15878 ] |
Benjamin Eberlei
made changes -
| Workflow | jira-feedback2 [ 15878 ] | jira-feedback3 [ 18134 ] |
Marco Pivetta
made changes -
| Issue Type | Bug [ 1 ] | Improvement [ 4 ] |
| Priority | Major [ 3 ] | Trivial [ 5 ] |