我没有看到任何选项,例如 orm.xml 文件中的 JPA2 。
<basic name="developer">
<index />
<column name="developer"/>
</basic>
我看到有 hbm.xml 文件,但是我想知道 JPA 2.0 是否真的缺少此功能作为标准的一部分。
所以我可以避免转换为 hbm.xml 文件......
答案 0 :(得分:0)
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
属性:
<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。