<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
                  https://raw.github.com/doctrine/doctrine2/master/doctrine-mapping.xsd">

    <mapped-superclass name="SocialLibrary\ReadBundle\Entity\Book">
        <id name="id" type="integer">
            <generator strategy="AUTO" />
        </id>
        <field name="volume" column="volume" type="integer" nullable="true" />
        <field name="language" column="language" type="string" length="8" nullable="true" />
        <field name="isbn10" column="isbn10" type="string" length="11" unique="true" nullable="true" />
        <field name="isbn13" column="isbn13" type="string" length="14" unique="true" nullable="true" />
        <many-to-one field="serie" target-entity="SocialLibrary\ReadBundle\Entity\Serie" inversed-by="volumes">
            <join-column name="serie_id" referenced-column-name="id" />
        </many-to-one>
        <many-to-many field="owners" target-entity="Application\Sonata\UserBundle\Entity\User">
            <join-table name="book__owner">
                <join-columns>
                    <join-column name="object_id" referenced-column-name="id" />
                </join-columns>
                <inverse-join-columns>
                    <join-column name="owner_id" referenced-column-name="id" />
                </inverse-join-columns>
            </join-table>
        </many-to-many>
        <many-to-many field="creators" target-entity="SocialLibrary\BaseBundle\Entity\ObjectCreator">
            <join-table name="book__creator">
                <join-columns>
                    <join-column name="object_id" referenced-column-name="id" />
                </join-columns>
                <inverse-join-columns>
                    <join-column name="creator_id" referenced-column-name="id" />
                </inverse-join-columns>
            </join-table>
        </many-to-many>
    </mapped-superclass>

</doctrine-mapping>