hibernate firebird - создание новой таблицы

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

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


person Alisson Vieira    schedule 12.11.2013    source источник


Ответы (1)


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

Видеть:

person Mark Rotteveel    schedule 12.11.2013
comment
почему спящий режим создается только для БД Firebird? Я работаю с другой БД как MySql, PostGres и Oracle, и она не создает эти временные таблицы. Благодарю. - person Alisson Vieira; 14.11.2013
comment
@AlissonVieira Я не использую Hibernate, но, насколько я могу судить из документации, Hibernate также создает их для другой базы данных. Проблема может заключаться в том, что диалект Hibernate для Firebird не знает о глобальных временных таблицах, поэтому вместо этого создает их как обычные таблицы. - person Mark Rotteveel; 14.11.2013
comment
Я понимаю, я сделал тест с eclipseLink, и он не создал эту временную таблицу. Вы знаете, могу ли я отключить эту опцию или указать для спящего режима создать эту таблицу как глобальную? - person Alisson Vieira; 14.11.2013
comment
EclipseLink — это не то же самое, что Hibernate, поэтому, естественно, он делает разные вещи. Я недостаточно хорошо знаю Hibernate, но вам, вероятно, потребуется создать альтернативный диалект, поддерживающий создание глобальных временных таблиц. - person Mark Rotteveel; 14.11.2013
comment
вы уверены, мне нужно было создать класс, расширяющий FirebirdDialetec, и это сработало. Я использовал эту ссылку, babickababa.blogspot .com.br/2011/01/ Спасибо, Марк Роттевел. - person Alisson Vieira; 14.11.2013
comment
Рад слышать. Этот блог содержал интересный комментарий о проблемах с наборами результатов, которые мне нужно исследовать (я поддерживаю Jaybird). Время, когда я лучше знакомлюсь с Hibernate;) - person Mark Rotteveel; 14.11.2013