ORA-00932: противоречивые типы данных: ожидаемые - спящий режим / спрингбут - PullRequest
0 голосов
/ 09 декабря 2018

Использование hibernate w / oracle для извлечения данных табло с аватарным изображением, хранящимся в виде base64 LOB.Я провел некоторое исследование, и похоже, что все другие подобные посты - это люди, которые пытаются сравнивать данные CLOB либо по отдельности, либо помещая их в предложение where.Я также читал, что oracle не поддерживает CLOB во временной таблице (просмотр). Как еще получить данные из базы данных, если это так.К сожалению, код работает в H2 в памяти БД.

ошибка выдачи запроса:

select distinct score.userId as userId, sum(score.totalScore) as totalScore, 
    sum(score.timeTaken) as timeTaken, user.image as image
from Score score, User user
where score.userId = user.userId
group by score.userId order by totalScore desc, timeTaken asc

права:

пользователь:

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "id_Sequence2")
@SequenceGenerator(name = "id_Sequence2", sequenceName = "ID_SEQ2")
@Column(name = "id", updatable = false, nullable = false)
int id;
int userId;
@Lob
String image;
Date createdDate;
Date lastLoggedIn;

оценка:

@Id
@Column(name = "quizID", updatable = false, nullable = false)
int quizId;
@Id
@Column(name = "userID", updatable = false, nullable = false)
int userId;
double totalScore;
@OneToMany(targetEntity=UserQuizRecord.class, fetch=FetchType.EAGER, cascade = { CascadeType.ALL })
List<UserQuizRecord> userQuizRecords;
int timeTaken;
int correctAns;
Date takenDate;

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Я не решил точную проблему, но я использовал обходной путь (который не идеален, но работает): я получил все, кроме данных изображения в одном запросе, затем выполнил другой запрос данных изображения и сцепил изображение наконец представления потом.Я запрашиваю только первые 100 результатов, так что это не то, чтобы облагать налогом ресурсы.

0 голосов
/ 09 декабря 2018

Проверьте эту ссылку.

https://forum.hibernate.org/viewtopic.php?f=1&t=998284

В соответствии с этим, DISTINCT не может использоваться с CLOB типом данных, т.е. image.Пожалуйста, проверьте, решает ли это вашу проблему.

...