JPA 2.0 table
типа XSD выглядит следующим образом:
<xsd:complexType name="table">
<xsd:sequence>
<xsd:element name="unique-constraint" type="orm:unique-constraint"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="catalog" type="xsd:string"/>
<xsd:attribute name="schema" type="xsd:string"/>
</xsd:complexType>
В то время как JPA 2.1 выглядит следующим образом:
<xsd:complexType name="table">
<xsd:sequence>
<xsd:element name="unique-constraint" type="orm:unique-constraint"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="index" type="orm:index"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="catalog" type="xsd:string"/>
<xsd:attribute name="schema" type="xsd:string"/>
</xsd:complexType>
Таким образом, у вас нет атрибута index
по типу table
, который прост ided на уровне каждого субъекта:
<entity class="Post" access="FIELD">
<table>
<index column-list="first_name,last_name" name="name_idx" unique="true"/>
</table>
<attributes>
...
</attributes>
</entity>
Однако, вам не нужно использовать hbm2ddl в приложении. Только use Flyway instead and you are way better off.