я просто завершаю небольшое приложение java, spring, hibernate. теперь я хочу поместить значение по умолчанию в базу данных. например, пароль администратора, такое расположение булавки. у меня есть файл .sql. как вставить его в базу данных при первой загрузке.
как инициализировать базу данных со значением по умолчанию
Ответы (2)
Думаю, Hibernate вам тут не поможет, но вы всегда можете прибегнуть к Spring JDBC:
<jdbc:initialize-database data-source="dataSource">
<jdbc:script location="classpath:com/foo/sql/db-schema.sql"/>
<jdbc:script location="classpath:com/foo/sql/db-test-data.sql"/>
</jdbc:initialize-database>
См.: 12.9.1 Инициализация экземпляр базы данных с использованием Spring XML
Для этого могут быть разные решения. Например, вы можете использовать некоторые файлы xml (или любой другой тип файла, который может иметь схему), которые содержат начальные значения и имеют утилиту, которая будет запускать и вставлять эти значения в базу данных. (при первом запуске программы установки) или у вас могут быть сценарии SQL с командой SQL, которая вставляет эти значения в базу данных. Но есть еще один вопрос, который я хотел бы задать, и я думаю, что он может касаться и вас. Что делать, если вы хотите обновить существующую базу данных некоторыми заводскими значениями? Должны ли мы заменить существующие данные этими новыми значениями или мы должны игнорировать их и вставлять только те значения, которых не существует. Если это так, я полагаю, что использование инструмента, управляющего логикой этого процесса, было бы более подходящим.
Для компании, с которой я работаю, поддержание работающей базы данных важнее, чем создание новой, поэтому вместо использования SQL-скриптов мы используем специальный инструмент для чтения некоторых файлов xml и решаем, что ему следует делать с его данными.
DEFAULT
в SQL - person jmj   schedule 02.05.2011