powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / HQL and CLOB
9 сообщений из 9, страница 1 из 1
HQL and CLOB
    #37660915
Synchrophasotron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток.
Есть две таблички

table1
id number
something ...

table2
id number,
table1_id number,
additional_data CLOB

поле additional_data является по сутие внешним ключом на таблицу table1
когда пытаюсь подцепиться к ней через подобный запрос (HQL)

select a from Table1 t1, Table2 t2 where (t2.table1Id = t1.id or t2.additionalData = t1.id)

получаю исключение
java.sql.SQLException: ORA-00932: inconsistent datatypes: expected - got CLOB
...
Рейтинг: 0 / 0
HQL and CLOB
    #37660934
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synchrophasotronadditional_data CLOB
поле additional_data является по сутие внешним ключом на таблицу table1

Взрыв мозга. По-моему на HQL довольно геморно будет. Надо функицию объявить и ей конвертнуть.
Для начала определитесь как именно вы это заставите на SQL работать.
http://www.dbforums.com/oracle/994118-using-oracle-clob-where-clause-select-query-via-jdbc.html
А потом уже будет ясно как к HQL прикрутить.
...
Рейтинг: 0 / 0
HQL and CLOB
    #37661054
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synchrophasotronполе additional_data является по сутие внешним ключом на таблицу table1
нельзя из CLOB делать внешний ключик.
У тебя же поле table1_id number есть?
...
Рейтинг: 0 / 0
HQL and CLOB
    #37661060
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123нельзя из CLOB делать внешний ключик.
Ну, это и не внешний ключ. Просто нужно сравнение по значению. Хотя, конечно, выглядит ужасно - синтетический id миксуется с натуральным полем.
...
Рейтинг: 0 / 0
HQL and CLOB
    #37661100
Synchrophasotron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczХотя, конечно, выглядит ужасно - синтетический id миксуется с натуральным полем.

ну да тихий ужас на самом деле.. Но сейчас надо быстро написать а потом уже переделать. Ибо на это слишком много звязано
...
Рейтинг: 0 / 0
HQL and CLOB
    #37661106
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 14.02.2012 14:34, Synchrophasotron wrote:

> select a from Table1 t1, Table2 t2 where (t2.table1Id = t1.id or t2.additionalData = t1.id)
>
> получаю исключение
> java.sql.SQLException: ORA-00932: inconsistent datatypes: expected - got CLOB

LIKE вместо равенства можно использовать?

Код: plsql
1.
select a from Table1 t1, Table2 t2 where (t2.table1Id = t1.id or t2.additionalData like t1.id);


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
HQL and CLOB
    #37661110
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Synchrophasotrontable1_id number,
additional_data CLOB
поле additional_data является по сутие внешним ключом на таблицу table1
...
select a from Table1 t1, Table2 t2 where (t2.table1Id = t1.id or t2.additionalData = t1.id)Ну так и оберните в to_number(to_char(странный блоб)). Если, конечно, оно оракловое ;)

P.S. Есть подозрения, что синус внешних ключей может достигать четырёх?
...
Рейтинг: 0 / 0
HQL and CLOB
    #37661122
Synchrophasotron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. Sidorov,
пока к счасть один.
...
Рейтинг: 0 / 0
HQL and CLOB
    #37661145
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczPetro123нельзя из CLOB делать внешний ключик.
Ну, это и не внешний ключ. Просто нужно сравнение по значению. Хотя, конечно, выглядит ужасно - синтетический id миксуется с натуральным полем.
ну, пускай он не оформлен как FK (внешний), но по факту в where, а значит требует индекса БД на CLOB.
В общем, геморрой может попасть в
Код: sql
1.
where (t2.table1Id = t1.id or t2.additionalData = t1.id)


http://govnokod.ru/
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / HQL and CLOB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]