Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Использование Hibernate и "кривой" схемы BD


Автор: stg_unholy 27.12.2006, 19:28
Добрый вечер! 
Уже давно возникла необходимость к существующему проекту на JSF + Spring + JDBC прикрутить какой либо ORM, беда лишь в том, что База данных (Oracle) "старая" и большааая, рефакторинг конечно ведется, по мере сил, но все равно,  многие вещи реализованы на пакетах/процедурах/вьюшках....И поднятие объекта - иногда довольно мучительный процесс... про сохранение уже не говорю smile вопрос облегчит ли в таком случае применение Hibernate, или же наоборот, придется еще кучу времени и сил тратить на попытки "уговорить" его работать с такой НЕПРОСТОЙ БД?

Автор: Danissimo 31.12.2006, 02:29
Я бы не использовал.

Автор: zera 31.12.2006, 11:18
так а на http://hibernate.org/80.html база есть?

Автор: Alexis 1.1.2007, 15:23
Вопрос немного не в тему: а какой диалект прописывать в hibernate.cfg.xml при использовании Oracle 10.1 и Hibernate 3.2?
Код

<property name="dialect">org.hibernate.dialect.OracleDialect</property>

или
Код

<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>

Вроде бы как правильнее Oracle9Dialect, все-таки документации написано, что он An SQL dialect for Oracle 9 (uses ANSI-style syntax where possible), но может быть он использует что-то специфичное для 9-ой версии и потом вылезут косяки?

Автор: 3x3 2.1.2007, 13:43
Цитата(Alexis @ 1.1.2007,  15:23)
Вопрос немного не в тему: а какой диалект прописывать в hibernate.cfg.xml при использовании Oracle 10.1 и Hibernate 3.2?
Код

<property name="dialect">org.hibernate.dialect.OracleDialect</property>

или
Код

<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>

Вроде бы как правильнее Oracle9Dialect, все-таки документации написано, что он An SQL dialect for Oracle 9 (uses ANSI-style syntax where possible), но может быть он использует что-то специфичное для 9-ой версии и потом вылезут косяки?

Начиная с версии 9.2 (при чем не с начала 9.2.0.0, а после какого-то патча 9.2.ххх), Oracle поддерживает ANSI-шный синтаксис в запросах (типа LEFT OUTER JOIN вместо операции (+)). Такой синтаксис не будет работать с предыдущими версиями Oracle.

Автор: Alexis 2.1.2007, 19:49
3x3, спасибо за ответ.
Мне надо было просто внимательнее читать справку:

3.4.1. SQL Dialects
<...>
Oracle (any version)    org.hibernate.dialect.OracleDialect
Oracle 9i/10g    org.hibernate.dialect.Oracle9Dialect

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