Skip to content

Loading…

DDC-1212: Exception of mapping of ID generation strategy #1819

Closed
doctrinebot opened this Issue · 5 comments

2 participants

@doctrinebot

Jira issue originally created by user comfortablynumb:

Hi all,

After updating today Doctrine 2 from master branch I'm getting:

Entity of type "Entity" is missing an assigned ID. The identifier generation strategy for this entity requires the ID field to be populated before EntityManager#persist() is called. If you want automatically generated identifiers instead you need to adjust the metadata mapping accordingly.

Was there a change on the mapping of ID generation strategy? I was using a commit of the master branch from 1 o 2 weeks ago and it was working ok. I took a look at the repo for changes on the last days but I couldn't find anything related to this.

I paste the mapping and entities here:

Element:

/****
 * @ORM\MappedSuperclass
 */
abstract class Element
{
    /****
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    protected $id;
}

File:

/****
 * @ORM\Entity
 * @ORM\Table(name="file")
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="discriminator", type="string")
 * @ORM\DiscriminatorMap({
        "image"  = "Image",
    })
 */
abstract class File extends Element
{
     // Fields
}

And Image:

/****
 * @ORM\Entity
 * @ORM\Table(name="image")
 */
class Image extends File
{
     // Fields
}

Thanks in advance!

@doctrinebot

Comment created by @beberlei:

Do you "use" the mapping AS ORM namespace?

@doctrinebot

Comment created by comfortablynumb:

Yes, sorry for not including that. I had to add this to my entities 1 o 2 weeks ago when I updated all my vendors:

use Doctrine\ORM\Mapping as ORM;

Is it still right?

@doctrinebot

Comment created by @beberlei:

Fixed

@doctrinebot

Issue was closed with resolution "Fixed"

@doctrinebot

Comment created by comfortablynumb:

Great!

I want to say just in case BTW that removing the mapped superclass and moving all its fields to, for example, "File" makes the error go away.

Thanks a lot!

@beberlei beberlei was assigned by doctrinebot
@doctrinebot doctrinebot added this to the 2.1 milestone
@doctrinebot doctrinebot closed this
@doctrinebot doctrinebot added the Bug label
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.