title: Symfony2 Doctrine ORM Composite Primary Keys
body: <p>I am developing an application in <strong>Symfony 2.3</strong> with <strong>Doctrine 2.4</strong> as ORM. The database engine I use is <strong>PostgreSQL</strong>. I'm having problems when mapping entities with composite primary keys in other tables. 
  These keys are foreign keys in the related key. </p>
  
  <p>The tables in my database have the following structure</p>
  
  <pre><code>CREATE TABLE public.establecimiento
  (
    id_establecimiento integer NOT NULL,
    establecimiento character varying(100) NOT NULL,
    CONSTRAINT pk_establecimiento PRIMARY KEY (id_establecimiento )
  )
  WITH (
    OIDS=FALSE
  );
  CREATE TABLE public.establecimiento_sec
  (
    id_establecimiento_sec integer NOT NULL,
    id_establecimiento integer NOT NULL,
    det_seccion character varying(40) NOT NULL,
    plano character varying(100),
    sector_ingreso character varying(254),
    sponsor_imagen_sec character varying(96000),
    CONSTRAINT pk_establecimientos_sec PRIMARY KEY (id_establecimiento_sec , id_establecimiento ),
    CONSTRAINT fk_establec_reference_establec FOREIGN KEY (id_establecimiento)
        REFERENCES public.establecimiento (id_establecimiento) MATCH SIMPLE
        ON UPDATE RESTRICT ON DELETE RESTRICT
  )
  WITH (
    OIDS=TRUE
  );
  CREATE TABLE public.establecimiento_sec_plano
  (
    id_establecimiento_sec_plano integer NOT NULL,
    id_establecimiento_sec integer NOT NULL,
    id_establecimiento integer NOT NULL,
    det_plano character varying(512),
    cantidad integer NOT NULL,
    precio double precision,
    insert_charge double precision DEFAULT 0,
    descr character varying(254),
    CONSTRAINT pk_establecimiento_sec_plano PRIMARY KEY (id_establecimiento_sec_plano , id_establecimiento_sec , id_establecimiento ),
    CONSTRAINT fk_establecimiento_sec FOREIGN KEY (id_establecimiento, id_establecimiento_sec)
        REFERENCES public.establecimiento_sec (id_establecimiento, id_establecimiento_sec) MATCH SIMPLE
        ON UPDATE NO ACTION ON DELETE CASCADE
  )
  WITH (
    OIDS=FALSE
  );
  </code></pre>
  
  <p>Defining the entity establecimientoSecPlano, $establecimientoSec variable containing the keys $establecimiento and $id_establecimiento_sec</p>
  
  <p>//Entity/EstablecimientosSecPlano</p>
  
  <pre><code>/**
   * @ORM\Id
   * @ORM\ManyToOne(targetEntity="Ticketway\PruebaBundle\Entity\EstablecimientosSec")
   * @ORM\JoinColumns(
   *      @ORM\JoinColumn(name="id_establecimiento_sec", referencedColumnName="id_establecimiento_sec"),
   *      @ORM\JoinColumn(name="id_establecimiento", referencedColumnName="id_establecimiento")) 
   */
  private $establecimientoSec;
  </code></pre>
  
  <p>//Entity/EstablecimientosSec</p>
  
  <pre><code> /**
   * @ORM\Id
   * @ORM\ManyToOne(targetEntity="Ticketway\PruebaBundle\Entity\Establecimientos")
   * @ORM\JoinColumn(name="id_establecimiento", referencedColumnName="id_establecimiento") 
   */
  private $establecimiento;
  </code></pre>
  
  <p>When executing the command doctrine: mapping: import I get the following error</p>
  
  <p><strong>[Doctrine\ORM\Mapping\MappingException]
    It is not possible to map entity 'EstablecimientoSec' with a composite primary key as part of the primary key of another entity 'EstablecimientoSecPlano#idEstablecimiento'.</strong></p>
  
  <p>I wonder if there is any way to define the entities in symfony and I can not do with doctrine.</p>
  
  <p>Can I map the features in another way for the application to work correctly?</p>
  
  <p>I hope my question is understood. thanks</p>