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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос по hibernate 
V
    Опции темы
kozlozhop
Дата 3.5.2009, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здорово!

есть такой метод:
Код

@Override
    public Long getMaxIdOrder() throws DataAccessException {
        HibernateCallback callback = new HibernateCallback() {
            @Override
            public Object doInHibernate(Session session) throws HibernateException, SQLException {
                String query = "SELECT MAX(o.id) FROM OrderEntity as o";
                return session.createQuery(query);
            }
        };        
        return (Long) getHibernateTemplate().execute(callback);
    }


При обращении к нему вылетает вот это
Код

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: org.hibernate.impl.QueryImpl cannot be cast to java.lang.Long


В общем я пробовал менять Long На Integer и в маппинге и в реализации, но не помогло  smile 
Есть у кого какие идеи?
PM MAIL   Вверх
powerOn
Дата 3.5.2009, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Ошибка достаточно четко указана: org.hibernate.impl.QueryImpl нельзя преобразовать в java.lang.Long.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
_and
Дата 4.5.2009, 04:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-developer
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 6.8.2004
Где: Новокузнецк

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



session.createQuery(query) - возвращает объект типа Query а тебе нужен результат запроса,
пробуй сделать session.createQuery(query).uniqueResult() или session.createQuery(query).list()
PM MAIL ICQ Jabber   Вверх
kozlozhop
Дата 5.5.2009, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо за ответы, проблему решил через uniqueResult(), но появился новый вопрос. 

Есть 2 таблицы, сваязанные отношением один ко многим. Допустим в певрой таблице поля id_table1, something1, во второй таблице поля id_table2, id_table1, т.е. связаны через  id_table1. Допустим я загрузил в 1-ую таблицу данные, как мне узнать сформированный id_table1, чтобы использовать его во 2 таблице?

Пока использовал метод, написанный в 1-ом посте для нахождения максимальнго id сразу после вставки, но, на мой взгляд это не лучший вариант...
PM MAIL   Вверх
_and
Дата 6.5.2009, 05:12 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-developer
*


Профиль
Группа: Участник
Сообщений: 139
Регистрация: 6.8.2004
Где: Новокузнецк

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



в любом случае это не лучший вариант
при правильно настроенном маппинге хибернейт сам сделает это за тебя 
посмотри тут
PM MAIL ICQ Jabber   Вверх
kozlozhop
Дата 7.5.2009, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(_and @ 6.5.2009,  05:12)
в любом случае это не лучший вариант
при правильно настроенном маппинге хибернейт сам сделает это за тебя 
посмотри тут

спасибо, помогло!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0706 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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