JPA и порядок столбцов в базе данных - PullRequest
2 голосов
/ 01 декабря 2010

Я использую Eclipselink в качестве поставщика персистентности. Есть ли способ указать порядок, в котором столбцы появляются в базе данных? Порядок столбцов в базе данных не соответствует порядку атрибутов в моих объектах. Насколько я понял столбцы порядка гибернации в алфавитном порядке, но я не могу найти какие-либо спецификации для Eclipselink.

1 Ответ

2 голосов
/ 01 декабря 2010

EclipseLink сортирует сопоставления и, следовательно, их столбцы в зависимости от веса сопоставления.Обычно вес задается только для того, чтобы убедиться, что сопоставления Baisc являются первыми, а сопоставления отношений - вторыми.

Можно установить вес для сопоставления, если вы хотите использовать DescriptorCustomizer.Вы также можете установить в дескрипторе не порядок отображения по весу, поэтому будет использоваться порядок, в котором они были указаны (setShouldOrderMappings (false)).

public void MyCustomizer implements DescriptorCustomizer {
  public void customize(ClassDescriptor descriptor) {
    descriptor.getMappingForAttributeName("name").setWeight(2);
  }
}

В последнее время произошли некоторые изменения в весе отображенийв разработке 2.2 сопоставления теперь сортируются по имени в пределах одного и того же уровня веса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...