Импорт начальных данных в режиме гибернации не работает при первом создании базы данных

#java #database #hibernate #derby

#java #База данных #переход в спящий режим #дерби

Вопрос:

Я пытаюсь автоматически создавать таблицы в базе данных и хочу импортировать исходные данные только один раз. Он работает, когда для параметра «hibernate.hbm2ddl.auto» установлено значение «создать», а для параметра «hibernate.hbm2ddl.import_files» включено hibernate.cfg.xml. Однако при каждом запуске он уничтожает и создает базу данных. Я хочу создать таблицы, если они не существуют, для этого я изменил параметр на «обновить», но на этот раз «hibernate.hbm2ddl.import_files» не работает.

org.apache.derby.jdbc.EmbeddedDriver jdbc:derby:CounterDB;create=true 5

 <property name="dialect">org.hibernate.dialect.DerbyDialect</property>
<property name="hibernate.current_session_context_class">thread</property>

<property name="hibernate.show_sql">true</property>
<!-- Creates it only if it doesn't exist -->
<property name="hibernate.hbm2ddl.auto">update</property>

<!-- import initial data to Database when it created -->
<property name="hibernate.hbm2ddl.import_files">import.sql</property>

<!-- Mapping files -->
<mapping class="com.counter.db.CameraSettings" />
<mapping class="com.db.Counts" />
  

Ответ №1:

Вам не нужно указывать файлы импорта. Режим гибернации по умолчанию будет выглядеть на

WEB-INF/classes /import.sql