Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > В Hibernate или Spring


Автор: PovAnd 14.7.2008, 19:18
Юзаю Hibernate через Spring.
Подскажите, какую опцию или способ, которым бы можно было добиться следующего :
автоматом (в конфиге каком указать) создавать базу данных если ее нет.


Автор: powerOn 14.7.2008, 19:27
наверное это свойство:

Код

        <!-- Drop and re-create the database schema on startup -->
        <property name="hbm2ddl.auto">create</property>



Автор: PovAnd 14.7.2008, 19:34
Не. Это немного не то. Это создает (или пересоздает) таблицы в базе данных, которая уже должна быть. Если нет, то ловим эксепшен Cannot open connection ибо нету базы

Автор: PovAnd 14.7.2008, 20:01
Короче запарился я искать и сдела кастыль: переопределил спринговский DriverManagerDataSource с sql запросом на создание БД и  опцией да/нет. Если все ж есть что лучшее, дайте плиз знать

Автор: Ulysses4j 14.7.2008, 20:30
Я извиняюсь, что скажу вещь неконкретную, но вы решаете плохую задачу: один из принципов всей этой истории с n-tier состоит в том, что БД создается администратором БД совершено автономно. Я читал какое-то количество книг по Spring, J2EE (кое-что писал), нигде не рассматривалась возможность создания БД из приложения.

Автор: PovAnd 14.7.2008, 20:42
Полностью с вами согласен. Но парадокс в том, что у данной конкретной базы я и есть АДМИНИСТРАТОР smile и я как администратор настаиваю - моя бд должна быть создана без меня smile . И Спринг , нам админам, тут не указ  ;)

Автор: Ulysses4j 14.7.2008, 20:50
Цитата(PovAnd @  14.7.2008,  21:42 Найти цитируемый пост)
И Спринг , нам админам, тут не указ 

Скорее наоборот.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)