persistence.xmlに次のプロパティを設定しました。
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>
私が正しく理解していれば、これはOpenJPA MappingToolに、対応する管理対象エンティティーのテーブルが見つからない場合にデータベースに適切なテーブルを生成する必要があることを通知するものです。
私が理解できなかったのは、EntityManagerへの参照を取得した後にMappingToolが保持する列の順序を指定する方法があるかどうかです。
MappingDefaultsはそのようなプロパティを提供していません(少なくとも私はそれを見つけることができませんでした)。これを行う唯一の方法は、これをサポートするためにOpenJPAAPIの一部を再実装することです。
そのオプションは現在私たちにとって実行可能ではなく、列の順序を指定する方法についてのアイデアやガイドラインがあれば、それを求めます。
私たちの環境は、次のスタックで構成されています。
- OpenJPA 2.0.1
- JDK 1.6.23
- 春3.0.5
- Maven 2.2.1
- IBM DB2 9.7 Express-C
また、Googleにそのような質問がほんの一握りしかないことに少し驚いています。