2013-06-04 5 views
6

Есть ли способ получить столбцы в порядке их , объявленных в классе Java, или указать порядок другим способом?Порядок столбцов на OpenJPA

Я использую задачу привязки инструмента сопоставления для создания DDL для моих классов в файле sql.

ответ

6

Нет, каждая реализация JPA может упорядочить столбцы в сгенерированном DDL в том порядке, в котором она сочтет нужным, и, в общем, программист не имеет никакого контроля над этим - например: Hibernate использует alphabetical order, но DataNucleus допускает спецификацию от column position благодаря нестандартной аннотации. К сожалению, OpenJPA не предоставляет механизм для указания порядка столбцов.

У меня была аналогичная проблема некоторое время назад, рекомендации по базе данных моего клиента задали определенный порядок в столбцах, а мой поставщик JPA произвел другой порядок. Решение? мы написали текстовую обработку Java-программы, которая, учитывая сгенерированный DDL в качестве входных данных, переупорядочила столбцы в коде, чтобы она удовлетворяла рекомендациям и производила в качестве вывода новый файл с модифицированным DDL; программа запускалась из задачи Ant. Не очень, но с практической точки зрения это было лучшее решение, которое мы могли бы собрать.

+3

Спасибо, Оскар за ваш ответ. Очень грустно, что OpenJPA не предоставляет способ указать порядок colummns =/ –

+0

Будет здорово добавить параметр порядка в атрибут Столбец – borjab

Смежные вопросы