3 use Doctrine\ORM\Mapping\ClassMetadataInfo;
5 $metadata->setInheritanceType(ClassMetadataInfo::INHERITANCE_TYPE_NONE);
6 $metadata->setPrimaryTable(array(
9 $metadata->setChangeTrackingPolicy(ClassMetadataInfo::CHANGETRACKING_DEFERRED_IMPLICIT);
10 $metadata->addLifecycleCallback('doStuffOnPrePersist', 'prePersist');
11 $metadata->addLifecycleCallback('doOtherStuffOnPrePersistToo', 'prePersist');
12 $metadata->addLifecycleCallback('doStuffOnPostPersist', 'postPersist');
13 $metadata->addNamedQuery(array(
15 'query' => 'SELECT u FROM __CLASS__ u'
17 $metadata->mapField(array(
23 $metadata->mapField(array(
24 'fieldName' => 'name',
29 'columnName' => 'name',
30 'options' => array('foo' => 'bar', 'baz' => array('key' => 'val')),
32 $metadata->mapField(array(
33 'fieldName' => 'email',
35 'columnName' => 'user_email',
36 'columnDefinition' => 'CHAR(32) NOT NULL',
38 $metadata->setIdGeneratorType(ClassMetadataInfo::GENERATOR_TYPE_AUTO);
39 $metadata->mapOneToOne(array(
40 'fieldName' => 'address',
41 'targetEntity' => 'Doctrine\\Tests\\ORM\\Mapping\\Address',
47 'inversedBy' => 'user',
52 'name' => 'address_id',
53 'referencedColumnName' => 'id',
54 'onDelete' => 'CASCADE',
57 'orphanRemoval' => false,
59 $metadata->mapOneToMany(array(
60 'fieldName' => 'phonenumbers',
61 'targetEntity' => 'Doctrine\\Tests\\ORM\\Mapping\\Phonenumber',
67 'orphanRemoval' => true,
73 $metadata->mapManyToMany(array(
74 'fieldName' => 'groups',
75 'targetEntity' => 'Doctrine\\Tests\\ORM\\Mapping\\Group',
87 'name' => 'cms_users_groups',
93 'referencedColumnName' => 'id',
98 'inverseJoinColumns' =>
102 'name' => 'group_id',
103 'referencedColumnName' => 'id',
104 'columnDefinition' => 'INT NULL',
110 $metadata->table['options'] = array(
112 'baz' => array('key' => 'val')
114 $metadata->table['uniqueConstraints'] = array(
115 'search_idx' => array('columns' => array('name', 'user_email')),
117 $metadata->table['indexes'] = array(
118 'name_idx' => array('columns' => array('name')), 0 => array('columns' => array('user_email'))
120 $metadata->setSequenceGeneratorDefinition(array(
121 'sequenceName' => 'tablename_seq',
122 'allocationSize' => 100,