使用 orm.xml 外键索引(一对多,多对一)
Index on foreign key (one-to-many, many-to-one) using orm.xml
是否可以在外键映射上使用索引?
我有以下 orm,在生成数据库后我只看到索引名称="index_start",没有生成外键上的索引
<entity name="person" class="gp.model.Person">
<attributes>
<basic name="name">
</basic>
<one-to-many name="contracts">
<join-column name="person_id">
<index name="index_person_id" />
</join-column>
</one-to-many>
<many-to-one name="group">
<join-column name="group_id">
<index name="index_group_id" />
</join-column>
</many-to-one>
</attributes>
</entity>
<entity name="contract" class="gp.model.Contract">
<attributes>
<basic name="start">
<index name="index_start"></index>
<column name="start_"></column>
</basic>
</attributes>
</entity>
<entity name="group" class="gp.model.Group">
<attributes>
</attributes>
</entity>
我尝试了其他选项:将@index 放在@entity 之外,但它也不起作用。 eclipselink 文档没有很好地描述@index。
<index name="index_person_id" table="contracts">
<column>person_id</column>
<index/>
我通过将此 属性 添加到持久性单元文件
来解决问题
<property name="eclipselink.ddl-generation.index-foreign-keys" value="true"/>
是否可以在外键映射上使用索引? 我有以下 orm,在生成数据库后我只看到索引名称="index_start",没有生成外键上的索引
<entity name="person" class="gp.model.Person">
<attributes>
<basic name="name">
</basic>
<one-to-many name="contracts">
<join-column name="person_id">
<index name="index_person_id" />
</join-column>
</one-to-many>
<many-to-one name="group">
<join-column name="group_id">
<index name="index_group_id" />
</join-column>
</many-to-one>
</attributes>
</entity>
<entity name="contract" class="gp.model.Contract">
<attributes>
<basic name="start">
<index name="index_start"></index>
<column name="start_"></column>
</basic>
</attributes>
</entity>
<entity name="group" class="gp.model.Group">
<attributes>
</attributes>
</entity>
我尝试了其他选项:将@index 放在@entity 之外,但它也不起作用。 eclipselink 文档没有很好地描述@index。
<index name="index_person_id" table="contracts">
<column>person_id</column>
<index/>
我通过将此 属性 添加到持久性单元文件
来解决问题<property name="eclipselink.ddl-generation.index-foreign-keys" value="true"/>