Rapsys\AirBundle\Entity\User:
    type: entity
    repositoryClass: Rapsys\AirBundle\Repository\UserRepository
    table: users
    fields:
        phone:
            type: string
            length: 16
            nullable: true
    oneToMany:
        applications:
            targetEntity: Rapsys\AirBundle\Entity\Application
            mappedBy: user
        snippets:
            targetEntity: Rapsys\AirBundle\Entity\Snippet
            mappedBy: user
    manyToMany:
        subscribers:
            targetEntity: Rapsys\AirBundle\Entity\User
            inversedBy: subscriptions
            joinTable:
                name: users_subscriptions
                joinColumns:
                    id:
                        name: user_id
                inverseJoinColumns:
                    id:
                        name: subscriber_id
        subscriptions:
            targetEntity: Rapsys\AirBundle\Entity\User
            mappedBy: subscribers
        locations:
            targetEntity: Rapsys\AirBundle\Entity\Location
            inversedBy: users
            joinTable:
                name: users_locations
                joinColumns:
                    id:
                        name: user_id
                inverseJoinColumns:
                    id:
                        name: location_id
#    manyToMany:
#        groups:
#            targetEntity: Group
#            inversedBy: users
#            joinTable:
#                name: groups_users
    associationOverride:
        groups:
            joinTable:
                name: users_groups
                joinColumns:
                    id:
                        name: user_id
                inverseJoinColumns:
                    id:
                        name: group_id