--- /dev/null
+<?php
+
+namespace Doctrine\Tests\ORM\Functional\Ticket;
+
+require_once __DIR__ . '/../../../TestInit.php';
+
+/**
+ * @group DDC-1404
+ */
+class DDC1404Test extends \Doctrine\Tests\OrmFunctionalTestCase
+{
+
+ protected function setUp()
+ {
+ parent::setUp();
+
+ try {
+ $this->_schemaTool->createSchema(array(
+ $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1404ParentEntity'),
+ $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC1404ChildEntity'),
+ ));
+
+ $this->loadFixtures();
+
+ } catch (Exception $exc) {
+ }
+ }
+
+ public function testTicket()
+ {
+ $repository = $this->_em->getRepository(__NAMESPACE__ . '\DDC1404ChildEntity');
+ $queryAll = $repository->createNamedQuery('all');
+ $queryFirst = $repository->createNamedQuery('first');
+ $querySecond = $repository->createNamedQuery('second');
+
+
+ $this->assertEquals('SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\DDC1404ChildEntity p', $queryAll->getDQL());
+ $this->assertEquals('SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\DDC1404ChildEntity p WHERE p.id = 1', $queryFirst->getDQL());
+ $this->assertEquals('SELECT p FROM Doctrine\Tests\ORM\Functional\Ticket\DDC1404ChildEntity p WHERE p.id = 2', $querySecond->getDQL());
+
+
+ $this->assertEquals(sizeof($queryAll->getResult()), 2);
+ $this->assertEquals(sizeof($queryFirst->getResult()), 1);
+ $this->assertEquals(sizeof($querySecond->getResult()), 1);
+ }
+
+
+ public function loadFixtures()
+ {
+ $c1 = new DDC1404ChildEntity("ChildEntity 1");
+ $c2 = new DDC1404ChildEntity("ChildEntity 2");
+
+ $this->_em->persist($c1);
+ $this->_em->persist($c2);
+
+ $this->_em->flush();
+ }
+
+}
+
+/**
+ * @MappedSuperclass
+ *
+ * @NamedQueries({
+ * @NamedQuery(name="all", query="SELECT p FROM __CLASS__ p"),
+ * @NamedQuery(name="first", query="SELECT p FROM __CLASS__ p WHERE p.id = 1"),
+ * })
+ */
+class DDC1404ParentEntity
+{
+
+ /**
+ * @Id
+ * @Column(type="integer")
+ * @GeneratedValue()
+ */
+ protected $id;
+
+ /**
+ * @return integer
+ */
+ public function getId()
+ {
+ return $this->id;
+ }
+
+}
+
+/**
+ * @Entity
+ *
+ * @NamedQueries({
+ * @NamedQuery(name="first", query="SELECT p FROM __CLASS__ p WHERE p.id = 1"),
+ * @NamedQuery(name="second", query="SELECT p FROM __CLASS__ p WHERE p.id = 2")
+ * })
+ */
+class DDC1404ChildEntity extends DDC1404ParentEntity
+{
+
+ /**
+ * @column(type="string")
+ */
+ private $name;
+
+ /**
+ * @param string $name
+ */
+ public function __construct($name)
+ {
+ $this->name = $name;
+ }
+
+ /**
+ * @return string
+ */
+ public function getName()
+ {
+ return $this->name;
+ }
+
+ /**
+ * @param string $name
+ */
+ public function setName($name)
+ {
+ $this->name = $name;
+ }
+
+}