Спецификация столбца заказа инструмента прямого отображения OpenJPA при создании таблицы - PullRequest
1 голос
/ 29 марта 2011

Мы установили следующее свойство в файле persistence.xml:

<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(ForeignKeys=true)"/>

Если я правильно понял, это то, что говорит OpenJPA MappingTool, что он должен генерировать соответствующие таблицы в базе данных, если эти не удалось найти для соответствующих управляемых объектов.

Я не смог выяснить, есть ли способ указать упорядочение столбцов, которые MappingTool сохраняется после того, как завладеетссылка на EntityManager?

MappingDefaults не предусматривает такого свойства (по крайней мере, я не смог его найти), и практически единственный способ сделать это - переосуществить часть API OpenJPA, чтобыподдержите это.

Эта опция в настоящее время для нас неосуществима, и я бы попросил любую идею или указание о том, как указать порядок столбцов - если таковые имеются.

Наша среда состоит из следующего стека:

  • OpenJPA 2.0.1
  • JDK 1.6.23
  • Spring 3.0.5
  • Maven 2.2.1
  • IBMDB2 9.7 Express-C

Я также немного удивлен, что таких вопросов в Google очень мало.

Ответы [ 2 ]

0 голосов
/ 10 октября 2014

Я обнаружил, что порядок столбцов не гарантируется, даже если вы в следующий раз запускаете инструмент отображения для той же схемы.Я также работаю с IBM DB2, и здесь я должен быть уверен, что таблицы создаются одинаково в каждом случае.Поэтому я сгенерировал DDL-скрипт один раз с помощью инструмента отображения и обновляю его, только если у меня есть изменения в моей модели данных.

0 голосов
/ 30 марта 2011

Если порядок столбцов для конкретной таблицы имеет значение для вашего приложения, не используйте SynchronizeMappings.

...