Estou com uma dúvida em como utilizar o mappedBy quando a tabela que possui a chave primaria possui chave composta. Este meu relacionamento é bidirecional, por isso preciso utilizar o mappedBy. Não posso utilizar herança neste caso também.
/**
* @Table(name="Pessoa")
* @Entity(readOnly=true)
*/
class Pessoa
{
/**
* @OneToOne(targetEntity="models\entity\PessoaFisica", mappedBy="iId")
*/
private $oPessoaFisica;
/**
* @OneToOne(targetEntity="models\entity\PessoaJuridica", mappedBy="iId")
*/
private $oPessoaJuridica;
/**
* @Id
* @Column(name="PessoId", type="integer", nullable=false)
* @GeneratedValue
*/
private $iId;
/**
* @Table(name="PessoaFisica")
* @Entity(readOnly=true, repositoryClass="models\entity\repository\PessoaFisicaRepository")
*/
class PessoaFisica extends \fw\fwEntity
{
/**
* @Id
* @OneToOne(targetEntity="models\entity\Pessoa")
* @JoinColumns({
* @JoinColumn(name="PeFisPessoa", referencedColumnName="PessoId")
* })
*/
private $iId;
/**
* @Id
* @ManyToOne(targetEntity="models\entity\Papel", inversedBy="oPessoasFisicas")
* @JoinColumn(name="PeFisPapel", referencedColumnName="PapelId")
*/
private $oPapel;
/**
* @Column(name="PeFisNome", type="string", nullable=true, length=50)
*/
private $sNome;
/**
* @Column(name="PeFisBairro", type="string", nullable=true, length=50)
*/
private $sBairro;
/**
* @Table(name="PessoaJuridica")
* @Entity(readOnly=true, repositoryClass="models\entity\repository\ProgramaRepository")
*/
class PessoaJuridica extends \fw\fwEntity
{
/**
* @Id
* @OneToOne(targetEntity="models\entity\Pessoa")
* @JoinColumns({
* @JoinColumn(name="PeJurPessoa", referencedColumnName="PessoId")
* })
*/
private $iId;
/**
* @Id
* @ManyToOne(targetEntity="sps\models\entity\Papel", inversedBy="oPessoasJuridicas")
* @JoinColumn(name="PeJurPapel", referencedColumnName="PapelId")
*/
private $oPapel;
/**
* @Column(name="PeJurNome", type="string", nullable=false, length=100)
*/
private $sNome;
/**
* @Column(name="PeJurCnpj", type="string", nullable=true, length=50)
*/
private $sCNPJ;
--
=================================
Marco Túlio Nogueira Silva
Msc- Ciência da Computação - UFMG/UFLA
=================================