فهرست منبع

[docs] updated to new annotation mapping style

gediminasm 14 سال پیش
والد
کامیت
f03175a595
7فایلهای تغییر یافته به همراه177 افزوده شده و 143 حذف شده
  1. 20 14
      doc/loggable.md
  2. 14 13
      doc/mapping.md
  3. 1 1
      doc/sluggable.md
  4. 12 9
      doc/sortable.md
  5. 41 30
      doc/timestampable.md
  6. 34 27
      doc/translatable.md
  7. 55 49
      doc/tree.md

+ 20 - 14
doc/loggable.md

@@ -23,7 +23,7 @@ and any number of them
 
 - You can [test live][blog_test] on this blog
 - Public [Loggable repository](http://github.com/l3pp4rd/DoctrineExtensions "Loggable extension on Github") is available on github
-- Last update date: **2011-06-08**
+- Last update date: **2011-08-08**
 
 **Portability:**
 
@@ -103,9 +103,9 @@ If you need a log entry table per single Entity or Document, we will cover how t
 
 ### Loggable annotations:
 
-- **@gedmo:Loggable(logEntryClass="my\class")** this class annotation 
+- **@Gedmo\Mapping\Annotation\Loggable(logEntryClass="my\class")** this class annotation 
 will use store logs to optionaly specified **logEntryClass**
-- **@gedmo:Versioned** tracks annotated property for changes
+- **@Gedmo\Mapping\Annotation\Versioned** tracks annotated property for changes
 
 ## Loggable Entity example: {#entity}
 
@@ -115,22 +115,25 @@ cache is active
 
     namespace Entity;
     
+    use Gedmo\Mapping\Annotation as Gedmo;
+    use Doctrine\ORM\Mapping as ORM;
+    
     /**
      * @Entity
-     * @gedmo:Loggable
+     * @Gedmo\Loggable
      */
     class Article
     {
         /**
-         * @Column(name="id", type="integer")
-         * @Id
-         * @GeneratedValue(strategy="IDENTITY")
+         * @ORM\Column(name="id", type="integer")
+         * @ORM\Id
+         * @ORM\GeneratedValue(strategy="IDENTITY")
          */
         private $id;
     
         /**
-         * @gedmo:Versioned
-         * @Column(name="title", type="string", length=8)
+         * @Gedmo\Versioned
+         * @ORM\Column(name="title", type="string", length=8)
          */
         private $title;
     
@@ -154,18 +157,21 @@ cache is active
 
     namespace Document;
     
+    use Gedmo\Mapping\Annotation as Gedmo;
+    use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
+    
     /**
-     * @Document(collection="articles")
-     * @gedmo:Loggable
+     * @ODM\Document(collection="articles")
+     * @Gedmo\Loggable
      */
     class Article
     {
-        /** @Id */
+        /** @ODM\Id */
         private $id;
     
         /**
-         * @String
-         * @gedmo:Versioned
+         * @ODM\String
+         * @Gedmo\Versioned
          */
         private $title;
     

+ 14 - 13
doc/mapping.md

@@ -1,7 +1,7 @@
 # Mapping extension for Doctrine2
 
 **Mapping** extension makes it easy to map additional metadata for event listeners.
-It supports **Yaml** and **Annotation** drivers which will be chosen depending on
+It supports **Yaml**, **Xml** and **Annotation** drivers which will be chosen depending on
 currently used mapping driver for your domain objects. **Mapping** extension also
 provides abstraction layer of **EventArgs** to make it possible to use single listener
 for different object managers like **ODM** and **ORM**.
@@ -14,7 +14,7 @@ Features:
 [blog_test]: http://gediminasm.org/test "Test extensions on this blog"
 
 - Public [Mapping repository](http://github.com/l3pp4rd/DoctrineExtensions "Mapping extension on Github") is available on github
-- Last update date: **2011-04-04**
+- Last update date: **2011-08-08**
 
 This article will cover the basic installation and usage of **Mapping** extension
 
@@ -135,8 +135,6 @@ Edit **Annotation.php** driver file:
             // load our available annotations
             require_once __DIR__ . '/../Annotations.php';
             $reader = new AnnotationReader();
-            // set annotation namespace and alias
-            $reader->setAnnotationNamespaceAlias('Extension\Encoder\Mapping\\', 'ext');
     
             $class = $meta->getReflectionClass();
             // check only property annotations
@@ -262,28 +260,31 @@ with some fields to encode.
 
     namespace YourNamespace\Entity;
     
+    use Doctrine\ORM\Mapping as ORM;
+    use Extension\Encoder\Mapping as EXT;
+    
     /**
-     * @orm:Table(name="test_users")
-     * @orm:Entity
+     * @ORM\Table(name="test_users")
+     * @ORM\Entity
      */
     class User
     {
         /**
-         * @orm:Column(type="integer")
-         * @orm:Id
-         * @orm:GeneratedValue
+         * @ORM\Column(type="integer")
+         * @ORM\Id
+         * @ORM\GeneratedValue
          */
         private $id;
     
         /**
-         * @ext:Encode(type="sha1", secret="xxx")
-         * @orm:Column(length=64)
+         * @EXT\Encode(type="sha1", secret="xxx")
+         * @ORM\Column(length=64)
          */
         private $name;
     
         /**
-         * @ext:Encode(type="md5")
-         * @orm:Column(length=32)
+         * @EXT\Encode(type="md5")
+         * @ORM\Column(length=32)
          */
         private $password;
     

+ 1 - 1
doc/sluggable.md

@@ -27,7 +27,7 @@ no more exceptions during concurrent flushes.
 
 - You can [test live][blog_test] on this blog
 - Public [Sluggable repository](http://github.com/l3pp4rd/DoctrineExtensions "Sluggable extension on Github") is available on github
-- Last update date: **2011-06-08**
+- Last update date: **2011-08-08**
 
 **Portability:**
 

+ 12 - 9
doc/sortable.md

@@ -13,7 +13,7 @@ Features:
 **Notice:**
 
 - Public [Sortable repository](http://github.com/l3pp4rd/DoctrineExtensions "Sortable extension on Github") is available on github
-- Last update date: **2011-06-08**
+- Last update date: **2011-08-08**
 
 **Portability:**
 
@@ -74,8 +74,8 @@ To attach the **Sortable Listener** to your event system:
 
 ### Sortable annotations:
 
-- **@gedmo:SortableGroup** it will use this field for **grouping**
-- **@gedmo:SortablePosition** it will use this column to store **position** index
+- **@Gedmo\Mapping\Annotation\SortableGroup** it will use this field for **grouping**
+- **@Gedmo\Mapping\Annotation\SortablePosition** it will use this column to store **position** index
 
 **Notice:** that Sortable interface is not necessary, except in cases there
 you need to identify entity as being Sortable. The metadata is loaded only once then
@@ -83,29 +83,32 @@ cache is activated
 
     namespace Entity;
     
+    use Gedmo\Mapping\Annotation as Gedmo;
+    use Doctrine\ORM\Mapping as ORM;
+    
     /**
-     * @Table(name="items")
-     * @Entity
+     * @ORM\Table(name="items")
+     * @ORM\Entity
      */
     class Item
     {
-        /** @Id @GeneratedValue @Column(type="integer") */
+        /** @ORM\Id @ORM\GeneratedValue @ORM\Column(type="integer") */
         private $id;
     
         /**
-         * @Column(name="name", type="string", length=64)
+         * @ORM\Column(name="name", type="string", length=64)
          */
         private $name;
     
         /**
          * @Gedmo\SortablePosition
-         * @Column(name="position", type="integer")
+         * @ORM\Column(name="position", type="integer")
          */
         private $position;
     
         /**
          * @Gedmo\SortableGroup
-         * @Column(name="category", type="string", length=128)
+         * @ORM\Column(name="category", type="string", length=128)
          */
         private $category;
     

+ 41 - 30
doc/timestampable.md

@@ -24,7 +24,7 @@ and any number of them
 
 - You can [test live][blog_test] on this blog
 - Public [Timestampable repository](http://github.com/l3pp4rd/DoctrineExtensions "Timestampable extension on Github") is available on github
-- Last update date: **2011-06-08**
+- Last update date: **2011-08-08**
 
 **Portability:**
 
@@ -81,7 +81,7 @@ To attach the **Timestampable Listener** to your event system:
 ## Timestampable Entity example: {#entity}
 
 ### Timestampable annotations:
-- **@gedmo:Timestampable** this annotation tells that this column is timestampable
+- **@Gedmo\Mapping\Annotation\Timestampable** this annotation tells that this column is timestampable
 by default it updates this column on update. If column is not date, datetime or time
 type it will trigger an exception.
 
@@ -98,32 +98,35 @@ cache is activated
 
     namespace Entity;
     
+    use Gedmo\Mapping\Annotation as Gedmo;
+    use Doctrine\ORM\Mapping as ORM;
+    
     /**
-     * @Entity
+     * @ORM\Entity
      */
     class Article
     {
-        /** @Id @GeneratedValue @Column(type="integer") */
+        /** @ORM\Id @ORM\GeneratedValue @ORM\Column(type="integer") */
         private $id;
     
         /**
-         * @Column(type="string", length=128)
+         * @ORM\Column(type="string", length=128)
          */
         private $title;
     
         /**
          * @var datetime $created
          *
-         * @gedmo:Timestampable(on="create")
-         * @Column(type="date")
+         * @Gedmo\Timestampable(on="create")
+         * @ORM\Column(type="date")
          */
         private $created;
     
         /**
          * @var datetime $updated
          *
-         * @Column(type="datetime")
-         * @gedmo:Timestampable(on="update")
+         * @ORM\Column(type="datetime")
+         * @Gedmo\Timestampable(on="update")
          */
         private $updated;
     
@@ -157,32 +160,35 @@ cache is activated
 
     namespace Document;
     
+    use Gedmo\Mapping\Annotation as Gedmo;
+    use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
+    
     /**
-     * @Document(collection="articles")
+     * @ODM\Document(collection="articles")
      */
     class Article
     {
-        /** @Id */
+        /** @ODM\Id */
         private $id;
     
         /**
-         * @String
+         * @ODM\String
          */
         private $title;
     
         /**
          * @var timestamp $created
          *
-         * @Timestamp
-         * @gedmo:Timestampable(on="create")
+         * @ODM\Timestamp
+         * @Gedmo\Timestampable(on="create")
          */
         private $created;
     
         /**
          * @var date $updated
          *
-         * @Date
-         * @gedmo:Timestampable
+         * @ODM\Date
+         * @Gedmo\Timestampable
          */
         private $updated;
     
@@ -278,21 +284,23 @@ Add another entity which would represent Article Type:
 
     namespace Entity;
     
+    use Doctrine\ORM\Mapping as ORM;
+    
     /**
-     * @Entity
+     * @ORM\Entity
      */
     class Type
     {
-        /** @Id @GeneratedValue @Column(type="integer") */
+        /** @ORM\Id @ORM\GeneratedValue @ORM\Column(type="integer") */
         private $id;
     
         /**
-         * @Column(type="string", length=128)
+         * @ORM\Column(type="string", length=128)
          */
         private $title;
     
         /**
-         * @OneToMany(targetEntity="Article", mappedBy="type")
+         * @ORM\OneToMany(targetEntity="Article", mappedBy="type")
          */
         private $articles;
     
@@ -316,45 +324,48 @@ Now update the Article Entity to reflect published date on Type change:
 
     namespace Entity;
     
+    use Gedmo\Mapping\Annotation as Gedmo;
+    use Doctrine\ORM\Mapping as ORM;
+    
     /**
-     * @Entity
+     * @ORM\Entity
      */
     class Article
     {
-        /** @Id @GeneratedValue @Column(type="integer") */
+        /** @ORM\Id @ORM\GeneratedValue @ORM\Column(type="integer") */
         private $id;
     
         /**
-         * @Column(type="string", length=128)
+         * @ORM\Column(type="string", length=128)
          */
         private $title;
     
         /**
          * @var datetime $created
          *
-         * @gedmo:Timestampable(on="create")
-         * @Column(type="date")
+         * @Gedmo\Timestampable(on="create")
+         * @ORM\Column(type="date")
          */
         private $created;
     
         /**
          * @var datetime $updated
          *
-         * @Column(type="datetime")
-         * @gedmo:Timestampable(on="update")
+         * @ORM\Column(type="datetime")
+         * @Gedmo\Timestampable(on="update")
          */
         private $updated;
     
         /**
-         * @ManyToOne(targetEntity="Type", inversedBy="articles")
+         * @ORM\ManyToOne(targetEntity="Type", inversedBy="articles")
          */
         private $type;
     
         /**
          * @var datetime $published
          *
-         * @Column(type="datetime", nullable=true)
-         * @gedmo:Timestampable(on="change", field="type.title", value="Published")
+         * @ORM\Column(type="datetime", nullable=true)
+         * @Gedmo\Timestampable(on="change", field="type.title", value="Published")
          */
         private $published;
     

+ 34 - 27
doc/translatable.md

@@ -39,7 +39,7 @@ and any number of them
 - Public [Translatable repository](http://github.com/l3pp4rd/DoctrineExtensions "Translatable extension on Github") is available on github
 - Using other extensions on the same Entity fields may result in unexpected way
 - May inpact your application performace since it does an additional query for translation
-- Last update date: **2011-06-08**
+- Last update date: **2011-08-08**
 
 **Portability:**
 
@@ -51,7 +51,7 @@ This article will cover the basic installation and functionality of **Translatab
 Content:
 
 - [Including](#including-extension) the extension
-- [Attaching](#event-listener) the **Translatable Listener**
+- [Attaching](#event-listener) the **Translation Listener**
 - Entity [example](#entity)
 - Document [example](#document)
 - [Yaml](#yaml) mapping example
@@ -123,9 +123,9 @@ to be used in global scope for all Entities or Documents:
     // now this event manager should be passed to entity manager constructor
 
 ### Translatable annotations:
-- **@gedmo:Translatable** it will **translate** this field
-- **@gedmo:TranslationEntity(class="my\class")** it will use this class to store **translations** generated
-- **@gedmo:Locale or @gedmo:Language** this will identify this column as **locale** or **language**
+- **@Gedmo\Mapping\Annotation\Translatable** it will **translate** this field
+- **@Gedmo\Mapping\Annotation\TranslationEntity(class="my\class")** it will use this class to store **translations** generated
+- **@Gedmo\Mapping\Annotation\Locale or @Gedmo\Mapping\Annotation\Language** this will identify this column as **locale** or **language**
 used to override the global locale
 
 ## Translatable Entity example: {#entity}
@@ -136,30 +136,32 @@ cache is activated
 
     namespace Entity;
     
+    use Gedmo\Mapping\Annotation as Gedmo;
+    use Doctrine\ORM\Mapping as ORM;
     use Gedmo\Translatable\Translatable;
     /**
-     * @Table(name="articles")
-     * @Entity
+     * @ORM\Table(name="articles")
+     * @ORM\Entity
      */
     class Article implements Translatable
     {
-        /** @Id @GeneratedValue @Column(type="integer") */
+        /** @ORM\Id @ORM\GeneratedValue @ORM\Column(type="integer") */
         private $id;
     
         /**
-         * @gedmo:Translatable
-         * @Column(name="title", type="string", length=128)
+         * @Gedmo\Translatable
+         * @ORM\Column(name="title", type="string", length=128)
          */
         private $title;
     
         /**
-         * @gedmo:Translatable
-         * @Column(name="content", type="text")
+         * @Gedmo\Translatable
+         * @ORM\Column(name="content", type="text")
          */
         private $content;
     
         /**
-         * @gedmo:Locale
+         * @Gedmo\Locale
          * Used locale to override Translation listener`s locale
          * this is not a mapped field of entity metadata, just a simple property
          */
@@ -200,29 +202,31 @@ cache is activated
 
     namespace Document;
     
+    use Gedmo\Mapping\Annotation as Gedmo;
+    use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
     use Gedmo\Translatable\Translatable;
     /**
-     * @Document(collection="articles")
+     * @ODM\Document(collection="articles")
      */
     class Article implements Translatable
     {
-        /** @Id */
+        /** @ODM\Id */
         private $id;
     
         /**
-         * @gedmo:Translatable
-         * @String
+         * @Gedmo\Translatable
+         * @ODM\String
          */
         private $title;
     
         /**
-         * @gedmo:Translatable
-         * @String
+         * @Gedmo\Translatable
+         * @ODM\String
          */
         private $content;
     
         /**
-         * @gedmo:Locale
+         * @Gedmo\Locale
          * Used locale to override Translation listener`s locale
          * this is not a mapped field of entity metadata, just a simple property
          */
@@ -493,13 +497,14 @@ ArticleTranslation Entity:
 
     namespace Entity\Translation;
     
+    use Doctrine\ORM\Mapping as ORM;
     use Gedmo\Translatable\Entity\AbstractTranslation;
     
     /**
-     * @Table(name="article_translations", indexes={
-     *      @index(name="article_translation_idx", columns={"locale", "objectClass", "foreign_key", "field"})
+     * @ORM\Table(name="article_translations", indexes={
+     *      @ORM\index(name="article_translation_idx", columns={"locale", "objectClass", "foreign_key", "field"})
      * })
-     * @Entity(repositoryClass="Gedmo\Translatable\Entity\Repository\TranslationRepository")
+     * @ORM\Entity(repositoryClass="Gedmo\Translatable\Entity\Repository\TranslationRepository")
      */
     class ArticleTranslation extends AbstractTranslation
     {
@@ -512,12 +517,14 @@ ArticleTranslation Entity:
 It is handy for specific methods common to the Translation Entity
 
 **Notice:** This Entity will be used instead of default Translation Entity
-only if we specify a class annotation @gedmo:TranslationEntity(class="my\translation\entity"):
+only if we specify a class annotation @Gedmo\TranslationEntity(class="my\translation\entity"):
 
+    use Doctrine\ORM\Mapping as ORM;
+    
     /**
-     * @Table(name="articles")
-     * @Entity
-     * @gedmo:TranslationEntity(class="Entity\Translation\ArticleTranslation")
+     * @ORM\Table(name="articles")
+     * @ORM\Entity
+     * @Gedmo\TranslationEntity(class="Entity\Translation\ArticleTranslation")
      */
     class Article
     {

+ 55 - 49
doc/tree.md

@@ -53,7 +53,7 @@ Update **2011-02-02**
 because nodes may have changed values in database but not in memory. Flushing dirty nodes can lead to unexpected behaviour.
 - Closure tree implementation is experimental and not fully functional, so far not documented either
 - Public [Tree repository](http://github.com/l3pp4rd/DoctrineExtensions "Tree extension on Github") is available on github
-- Last update date: **2011-06-08**
+- Last update date: **2011-08-08**
 
 **Portability:**
 
@@ -114,60 +114,63 @@ cache is activated
 
     namespace Entity;
     
+    use Gedmo\Mapping\Annotation as Gedmo;
+    use Doctrine\ORM\Mapping as ORM;
+    
     /**
-     * @gedmo:Tree(type="nested")
-     * @Table(name="categories")
+     * @Gedmo\Tree(type="nested")
+     * @ORM\Table(name="categories")
      * use repository for handy tree functions
-     * @Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
+     * @ORM\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
      */
     class Category
     {
         /**
-         * @Column(name="id", type="integer")
-         * @Id
-         * @GeneratedValue
+         * @ORM\Column(name="id", type="integer")
+         * @ORM\Id
+         * @ORM\GeneratedValue
          */
         private $id;
     
         /**
-         * @Column(name="title", type="string", length=64)
+         * @ORM\Column(name="title", type="string", length=64)
          */
         private $title;
     
         /**
-         * @gedmo:TreeLeft
-         * @Column(name="lft", type="integer")
+         * @Gedmo\TreeLeft
+         * @ORM\Column(name="lft", type="integer")
          */
         private $lft;
         
         /**
-         * @gedmo:TreeLevel
-         * @Column(name="lvl", type="integer")
+         * @Gedmo\TreeLevel
+         * @ORM\Column(name="lvl", type="integer")
          */
         private $lvl;
         
         /**
-         * @gedmo:TreeRight
-         * @Column(name="rgt", type="integer")
+         * @Gedmo\TreeRight
+         * @ORM\Column(name="rgt", type="integer")
          */
         private $rgt;
         
         /**
-         * @gedmo:TreeRoot
-         * @Column(name="root", type="integer", nullable=true)
+         * @Gedmo\TreeRoot
+         * @ORM\Column(name="root", type="integer", nullable=true)
          */
         private $root;
         
         /**
-         * @gedmo:TreeParent
-         * @ManyToOne(targetEntity="Category", inversedBy="children")
-         * @JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL")
+         * @Gedmo\TreeParent
+         * @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
+         * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL")
          */
         private $parent;
         
         /**
-         * @OneToMany(targetEntity="Category", mappedBy="parent")
-         * @OrderBy({"lft" = "ASC"})
+         * @ORM\OneToMany(targetEntity="Category", mappedBy="parent")
+         * @ORM\OrderBy({"lft" = "ASC"})
          */
         private $children;
     
@@ -199,13 +202,13 @@ cache is activated
 
 ### Tree annotations: {#annotations}
 
-- **@gedmo:Tree(type="strategy")** this **class annotation** is used to set the tree strategy by **type** parameter.
+- **@Gedmo\Mapping\Annotation\Tree(type="strategy")** this **class annotation** is used to set the tree strategy by **type** parameter.
 Currently **nested** or **closure** strategy is supported
-- **@gedmo:TreeLeft** it will use this field to store tree **left** value
-- **@gedmo:TreeRight** it will use this field to store tree **right** value
-- **@gedmo:TreeParent** this will identify this column as the relation to **parent node**
-- **@gedmo:TreeLevel** it will use this field to store tree**level**
-- **@gedmo:TreeRoot** it will use this field to store tree**root** id value
+- **@Gedmo\Mapping\Annotation\TreeLeft** it will use this field to store tree **left** value
+- **@Gedmo\Mapping\Annotation\TreeRight** it will use this field to store tree **right** value
+- **@Gedmo\Mapping\Annotation\TreeParent** this will identify this column as the relation to **parent node**
+- **@Gedmo\Mapping\Annotation\TreeLevel** it will use this field to store tree**level**
+- **@Gedmo\Mapping\Annotation\TreeRoot** it will use this field to store tree**root** id value
 
 ## Yaml mapping example {#yaml}
 
@@ -457,7 +460,7 @@ So after that use `$em->clear();` if you will continue using the nodes after the
     // and then on your entity link to this repository
     
     /**
-     * @gedmo:Tree(type="nested")
+     * @Gedmo\Tree(type="nested")
      * @Entity(repositoryClass="Entity\Repository\CategoryRepository")
      */
     class Category implements Node
@@ -487,60 +490,63 @@ And the Entity should look like:
 
     namespace Entity;
     
+    use Gedmo\Mapping\Annotation as Gedmo;
+    use Doctrine\ORM\Mapping as ORM;
+    
     /**
-     * @gedmo:Tree(type="nested")
-     * @Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
+     * @Gedmo\Tree(type="nested")
+     * @ORM\Entity(repositoryClass="Gedmo\Tree\Entity\Repository\NestedTreeRepository")
      */
     class Category
     {
         /**
-         * @Column(name="id", type="integer")
-         * @Id
-         * @GeneratedValue
+         * @ORM\Column(name="id", type="integer")
+         * @ORM\Id
+         * @ORM\GeneratedValue
          */
         private $id;
     
         /**
-         * @gedmo:Translatable
-         * @gedmo:Sluggable
-         * @Column(name="title", type="string", length=64)
+         * @Gedmo\Translatable
+         * @Gedmo\Sluggable
+         * @ORM\Column(name="title", type="string", length=64)
          */
         private $title;
     
         /**
-         * @gedmo:TreeLeft
-         * @Column(name="lft", type="integer")
+         * @Gedmo\TreeLeft
+         * @ORM\Column(name="lft", type="integer")
          */
         private $lft;
         
         /**
-         * @gedmo:TreeRight
-         * @Column(name="rgt", type="integer")
+         * @Gedmo\TreeRight
+         * @ORM\Column(name="rgt", type="integer")
          */
         private $rgt;
         
         /**
-         * @gedmo:TreeLevel
-         * @Column(name="lvl", type="integer")
+         * @Gedmo\TreeLevel
+         * @ORM\Column(name="lvl", type="integer")
          */
         private $lvl;
         
         /**
-         * @gedmo:TreeParent
-         * @ManyToOne(targetEntity="Category", inversedBy="children")
-         * @JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL")
+         * @Gedmo\TreeParent
+         * @ORM\ManyToOne(targetEntity="Category", inversedBy="children")
+         * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="SET NULL")
          */
         private $parent;
         
         /**
-         * @OneToMany(targetEntity="Category", mappedBy="parent")
+         * @ORM\OneToMany(targetEntity="Category", mappedBy="parent")
          */
         private $children;
         
         /**
-         * @gedmo:Translatable
-         * @gedmo:Slug
-         * @Column(name="slug", type="string", length=128)
+         * @Gedmo\Translatable
+         * @Gedmo\Slug
+         * @ORM\Column(name="slug", type="string", length=128)
          */
         private $slug;