2013-11-12 3 views
2

Я работаю над новым проектом, который мне нужно перенести в систему Delphi + Firebird, и я собираюсь использовать Java 7 + JSF 2 + JPA (Hibernate) + Firebird. Я настроил проект, и он работает, но у меня проблема. «Hibernate» создает новую таблицу для каждого @entity, которые у меня есть в проекте. Например, у меня есть таблица XXX, а hibernate собирается создать таблицу HT_XXX с атрибутами первичного ключа таблицы XXX и HIB_SESS_ID.hibernate firebird - создание новой таблицы

Есть ли какие-либо специальные свойства, которые я скажу, что hibernate останавливается, чтобы создать эту новую таблицу?

ответ

2

Таблицы с префиксом HT_ являются временными таблицами, которые Hibernate использует для определенных операций с массой. Вы не можете запретить Hibernate создавать их AFAIK.

См:

+0

почему зимуют создать только для Firebird DB? Я работаю с другой БД как MySql, PostGres и Oracle и не создает эти временные таблицы. Благодарю. –

+0

@AlissonVieira Я не использую Hibernate, но, насколько я могу судить по документации, Hibernate также создает их для другой базы данных. Проблема может заключаться в том, что диалект Hibernate для Firebird не знает о глобальных временных таблицах, поэтому вместо этого он создает их как обычные таблицы. –

+0

Насколько я понял, я сделал тест с eclipseLink и не создал эту временную таблицу. Вы знаете, могу ли я отключить этот параметр или сказать, что спящий режим создает эту таблицу как глобальную? –

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