3 namespace Doctrine\Tests\ORM\Functional\Ticket;
5 require_once __DIR__ . '/../../../TestInit.php';
7 class DDC444Test extends \Doctrine\Tests\OrmFunctionalTestCase
9 public function setUp()
12 //$this->_em->getConnection()->getConfiguration()->setSQLLogger(new \Doctrine\DBAL\Logging\EchoSQLLogger);
13 $this->_schemaTool->createSchema(array(
14 $this->_em->getClassMetadata(__NAMESPACE__ . '\DDC444User'),
18 public function testExplicitPolicy()
20 $classname = __NAMESPACE__ . "\DDC444User";
23 $u->name = "Initial value";
25 $this->_em->persist($u);
29 $q = $this->_em->createQuery("SELECT u FROM $classname u");
30 $u = $q->getSingleResult();
31 $this->assertEquals("Initial value", $u->name);
33 $u->name = "Modified value";
35 // This should be NOOP as the change hasn't been persisted
40 $u = $this->_em->createQuery("SELECT u FROM $classname u");
41 $u = $q->getSingleResult();
43 $this->assertEquals("Initial value", $u->name);
46 $u->name = "Modified value";
47 $this->_em->persist($u);
48 // Now we however persisted it, and this should have updated our friend
51 $q = $this->_em->createQuery("SELECT u FROM $classname u");
52 $u = $q->getSingleResult();
54 $this->assertEquals("Modified value", $u->name);
60 * @Entity @Table(name="ddc444")
61 * @ChangeTrackingPolicy("DEFERRED_EXPLICIT")
66 * @Id @Column(name="id", type="integer")
67 * @GeneratedValue(strategy="AUTO")
72 * @Column(name="name", type="string")