version="2.1">
<package>de.juplo.yourshouter.api.model</package>
+ <converter class="de.juplo.jpa.converters.URIConverter" auto-apply="true"/>
<converter class="de.juplo.jpa.converters.ZonedDateTimeConverter" auto-apply="true"/>
<converter class="de.juplo.jpa.converters.LocalDateConverter" auto-apply="true"/>
- <mapped-superclass class="Node" access="FIELD">
+ <converter class="de.juplo.jpa.converters.LocalTimeConverter" auto-apply="true"/>
+ <converter class="de.juplo.yourshouter.api.persistence.jpa.StringFeatureConverter" auto-apply="true"/>
+ <converter class="de.juplo.yourshouter.api.persistence.jpa.StringTypeConverter" auto-apply="true"/>
+ <entity class="Node" access="FIELD">
+ <table>
+ <index name="uri" unique="true" column-list="source, nodeType, id, locale, version"/>
+ </table>
<inheritance strategy="SINGLE_TABLE"/>
<discriminator-column discriminator-type="INTEGER"/>
+ <id-class class="de.juplo.yourshouter.api.persistence.jpa.PrimaryKey"/>
<attributes>
- <id name="id"/>
- <transient name="features"/>
- <transient name="fields"/>
- <transient name="nodes"/>
+ <id name="source">
+ <column length="191" column-definition="VARCHAR(191)"/>
+ </id>
+ <id name="id">
+ <column name="id" length="191"/>
+ </id>
+ <id name="nodeType"/>
+ <basic name="name">
+ <column length="511"/>
+ </basic>
+ <basic name="locale">
+ <column length="127"/>
+ </basic>
+ <element-collection name="features"/>
+ <element-collection name="fields"/>
+ <many-to-many name="nodes">
+ <cascade>
+ <cascade-all/>
+ </cascade>
+ </many-to-many>
</attributes>
- </mapped-superclass>
+ </entity>
</entity-mappings>