Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Hidernate Oracle 
V
    Опции темы
Astoret
Дата 6.10.2010, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 16.4.2009

Репутация: нет
Всего: 1



Есть удаленный сервер Oracle 9.2, есть приложение Spring-Hipernate3 к нему подключена еще база MySQL.
С MySQL приложение работает нормально но возникает проблема с Oracle. Когда пытаюсь сделать постраничную выборку select появляются ошибки:
Код

java.sql.SQLException: ORA-00933: неверное завершение SQL-предложения

после долгого поиска понял что проблема в том что запрос заканчивается на:
Код

... from DK.UMV_STUDENT this_ limit ?, ?

Проверил что Оракл не поддерживает limit, нужно использовать ROWNUM только как это сделать? 
Пробовал подставлять разные диалекты: OracleDialect, Oracle9Dialect, Oracle9iDialect, Oracle10gDialect. Запрос не поменялся.
Фрагмент моего DAO:
Код

public List<DKUmvStudent> getAll(Order order, int firstResult,
            int maxResults) {
        DetachedCriteria criteria = DetachedCriteria
                .forClass(DKUmvStudent.class);
                //.addOrder(order);
        return dkTemplate.findByCriteria(criteria,firstResult,maxResults);
    }

PM MAIL WWW   Вверх
Vasay
Дата 6.10.2010, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2097
Регистрация: 8.3.2006

Репутация: 18
Всего: 73



Astoret

А можете показать конфиг? 

Как у Вас настроена работа с 2-мя базами?

Возможно Вы пытаетесь использовать настройки для MySQl с Oracle?

п.с. у Вас связка Spring-Hipernate3 или Spring-JPA-Hipernate3?


--------------------
Придумать идеальную защиту от дурака невозможно, дураки, наудивление, изобретательны.
PM MAIL   Вверх
Astoret
Дата 6.10.2010, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 16.4.2009

Репутация: нет
Всего: 1



Vasay
Да нет, настроено все нормально, простые выборки, где нет limit, он делает без проблем.

Код

<bean id="jinedDS" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
        p:driverClassName="${jdbc.driverClassName}" 
        p:url="${jdbc.url}"
        p:username="${jdbc.username}" 
        p:password="${jdbc.password}"/>
    
    <bean id="dkDS" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
        p:driverClassName="${dk.jdbc.driverClassName}" 
        p:url="${dk.jdbc.url}"
        p:username="${dk.jdbc.username}" 
        p:password="${dk.jdbc.password}"/>

Код

<!-- Hibernate SessionFactory -->
    <bean id="sessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="jinedDS" />

        <property name="annotatedClasses">
            <list>
             <value>...</value>
                ....
            </list>
        </property>
        <property name="annotatedPackages">
            <list>
                <value>...</value>

            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>
            </props>
        </property>
    </bean>
    
    <bean id="dkSessionFactory"
        class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dkDS" />

        <property name="annotatedClasses">
            <list>
             <value>...</value>
            </list>
        </property>
        <property name="annotatedPackages">
            <list>
                <value>...</value>
            </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>
            </props>
        </property>
    </bean>
    
    <bean name="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    
    <bean name="dkHibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
        <property name="sessionFactory" ref="dkSessionFactory" />
    </bean>


связка Spring-Hipernate3
PM MAIL WWW   Вверх
0x00
Дата 7.10.2010, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 192
Регистрация: 3.4.2006

Репутация: нет
Всего: нет



запрос в студию
PM MAIL   Вверх
Astoret
Дата 7.10.2010, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 16.4.2009

Репутация: нет
Всего: 1



Все, решил проблему.
Оказалось проблема в моей невнимательности, как обычно, переменная ${hibernate.dialect} стояла одна и та же для Oracle и MySQL. Поэтому и не помогала замена диалектов. После исправления запрос к ораклу стал корректным без  like, а с rownum и подзапросами.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0587 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.