Rapsys\AirBundle\Entity\Snippet:
    type: entity
    repositoryClass: Rapsys\AirBundle\Repository\SnippetRepository
    table: snippets
    id:
        id:
            type: integer
            generator:
                strategy: AUTO
            options:
                unsigned: true
    fields:
        locale:
            type: string
            length: 5
        description:
            type: text
            nullable: true
        class:
            type: text
            nullable: true
        short:
            type: text
            nullable: true
        rate:
            type: integer
            nullable: true
            options:
                unsigned: true
        hat:
            type: boolean
            nullable: true
        contact:
            type: string
            length: 254
            nullable: true
        donate:
            type: string
            length: 254
            nullable: true
        link:
            type: string
            length: 254
            nullable: true
        profile:
            type: string
            length: 254
            nullable: true
        created:
            type: datetime
        updated:
            type: datetime
    manyToOne:
        location:
            targetEntity: Rapsys\AirBundle\Entity\Location
            inversedBy: snippets
        user:
            targetEntity: Rapsys\AirBundle\Entity\User
            inversedBy: snippets
    indexes:
        #XXX: may be used in SnippetRepository::findByLocaleUserId
        locale_user:
            columns: [ locale, user_id ]
    uniqueConstraints:
        locale_location_user:
            columns: [ locale, location_id, user_id ]
    lifecycleCallbacks:
        preUpdate: ['preUpdate']