2010-02-18 2 views
2

Я пишу проект, который будет использовать mySQL или Derby (он должен работать в обеих ситуациях). Чтобы решить эту проблему, я использую Hibernate, и она работает хорошо, но для ситуации: у меня есть пара таблиц, которые содержат города и города, с данными, связанными с тем, что, если я знаю город, с которым я могу присоединиться и получить графство, и почтовый индекс. Эти таблицы полны тысяч строк. Я не использую Hibernate для их обработки, но простой JDBC. Эти таблицы не будут меняться со временем, они предназначены только для справки и для нужд автозавершения. Итак, каков наилучший способ воспроизвести эти таблицы как на mySQL, так и на JavaDB? В частности, они должны быть сгенерированы при первом запуске приложения. Я думал создать специальный формат и сохранить все в текстовые файлы, а затем при первом запуске они будут вставлены в db ... но есть ли способ сохранить некоторую кодировку и использовать инструмент, который уже существует? Я нашел много говорящих, чтобы использовать CSV, но это не так, поскольку он не хранит информацию, подобную типу столбца или длины. То же самое для XML, который создает мой mySQL-инструмент (sqlYog). У вас есть другие предложения или инструменты?Экспорт схемы базы данных

ответ

0

Я бы использовал Hibernate и сопоставлял объекты как mutable = false. Hibernate тогда не разрешается ничего менять. Создайте схему, используя стандартные средства Hibernate, затем используйте IStatelessSession для вставки записей, гарантируя, что вы включили пакетную обработку.

+0

Хммм ... да, но как сохранить данные таблицы? – gotch4

+0

Загрузите записи из текстового файла и выполните statelessSession.Insert на каждом из них. У вас уже будет определение таблицы в файле сопоставления. –

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