![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
vzf |
|
||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 10.9.2005 Репутация: 2 Всего: 5 |
Помогите пожалуйста решить проблему.
Есть класс JobLog соответствующий таблице JOBLOG. В таблице есть поле JOB_ID. В классе JobLog ему соответствует свойство jobId. Мне необходимо при помощи запроса на HQL удалить записи из базы у которых значение JOB_ID равно указанному значению. Я пишу следующий метод:
При выполнении выбрасывается исключение:
В чем причина немогу понять. Я вроде стараюсь сделать все как в примерах из документации Этот пример взят из документации:
Вот еще один (правда про update):
--------------------
Java - Write Once, Test EveryWhere! |
||||||||
|
|||||||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
В SQL синтаксис такой:
Попробуй. |
|||
|
||||
vzf |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 10.9.2005 Репутация: 2 Всего: 5 |
Все равно не работает.
В документации сказано, что в HQL слово from в выражении для delete опционально, поэтому думаю не в этом дело. --------------------
Java - Write Once, Test EveryWhere! |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
А версия Hibernate какая?
|
|||
|
||||
vzf |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 10.9.2005 Репутация: 2 Всего: 5 |
использую Hibernate 3.2
Вот вроде бы нашел тут в чем причина. Надо использовать другой (не дефолтный парсер). Попробую разобраться ![]() --------------------
Java - Write Once, Test EveryWhere! |
|||
|
||||
vzf |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 10.9.2005 Репутация: 2 Всего: 5 |
Изменил конфиг файл для hibernate
вместо
написал
Теперь появляется другое исключение:
Я подключил к проекту файл hibernate3.jar там есть этот класс (HqlToken). Не могу понять в чем дело. ![]() Причем если в методе я попытаюсь создать экземпляр этого класса ( HqlToken t = new HqlToken(); ), то исключение не выбрасывается. --------------------
Java - Write Once, Test EveryWhere! |
||||||
|
|||||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
А библиотека antlr в CLASSPATH есть?
|
|||
|
||||
vzf |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 10.9.2005 Репутация: 2 Всего: 5 |
Я включил библиотеку Antlr-2.7.6.jar в проект (и Ant-antlr-1.6.5.jar докучи). Странно что в том же методе я пишу
HqlToken t = new HqlToken(); и объект создается. --------------------
Java - Write Once, Test EveryWhere! |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
Это объяснить в принципе можно. Hibernate активно использует Cglib для генерации программного кода. Естественно, в этом случае используется свой загрузчик классов, который работает не так как стандартный загрузчик из JDK (или загрузчик веб-контейнера если это веб-проиложение). Отсюда скорее всего и результат. Но вот как это решить пока не знаю.
|
|||
|
||||
vzf |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 10.9.2005 Репутация: 2 Всего: 5 |
Может дело в сервере приложений. Я пишу в JDeveloper, соответственно приложение запускается на встроенном OC4J Server'е ?
--------------------
Java - Write Once, Test EveryWhere! |
|||
|
||||
Armiol |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 25.3.2006 Репутация: нет Всего: нет |
Цитата из документации Hibernate:
Взято здесь: http://www.hibernate.org/hib_docs/v3/refer...bjectstate.html Мне кажется, что стоит подумать, так ли критично использовать explicit query для удаления. Тем более, что Hibernate прямо это запрещает. |
|||
|
||||
vzf |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 203 Регистрация: 10.9.2005 Репутация: 2 Всего: 5 |
Поставил нетбинс с томкатом. Запустил. Работает. Выходит дело в OC4J.
--------------------
Java - Write Once, Test EveryWhere! |
|||
|
||||
tux |
|
|||
![]() Летатель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1853 Регистрация: 10.2.2005 Где: msk.ru Репутация: 74 Всего: 132 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |