Java Spring Boot Hibernate - [type.a] не совпадал с типом выбора запросов [type.a]JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java Spring Boot Hibernate - [type.a] не совпадал с типом выбора запросов [type.a]

Сообщение Anonymous »

Я перенес реализацию Hibrenate в другой проект. От com.mvc.data до com.mvc.frontend . После переезда я получаю следующее исключение при попытке получить данные. < /P>

Код: Выделить всё

org.hibernate.query.QueryTypeMismatchException: Specified result type
[com.mvc.frontend.enteties.Customer] did not match Query selection type
[com.mvc.frontend.enteties.Customer] - multiple selections: use Tuple or array
< /code>
Обратите внимание, что это тот же тип. Если я, как предполагается исключением, изменяйте тип результата на массив, это, как и ожидалось, бросает одно и то же исключение несоответствия, но с фактически несоответствующими типами. < /P>
[[Lcom.mvc.frontend.enteties.Customer;] did not match Query selection type
[com.mvc.frontend.enteties.Customer]
< /code>
Если я изменю тип результата на кортеж, я получаю результат, и он даже отображает его с правильным типом клиента с всеми 4 переменными, правильно отображенными < /p>
list = {ArrayList@12043}  size = 4
0 = {TupleImpl@12052} "[com.mvc.frontend.enteties.Customer@5fff6af5]"
tupleMetadata = {TupleMetadata@12134}
row = {Object[1]@12135}
0 = {Customer@12136}
id = {UUID@12137} "95a2adce-7a84-4bda-836d-7de5f135be44"
name = "Anders Andersson"
credit = 5000
created = {Timestamp@12139} "2025-04-09 12:49:58.396667"
< /code>
Результат из старого проекта сначала с кортежей, а затем с клиентом в качестве типа результата, второй результат - нужный тип. < /p>
list = {ArrayList@11076}  size = 4
0 = {TupleImpl@11083} "[com.mvc.data.enteties.Customer@7ad0ec0e]"
tupleMetadata = {TupleMetadata@14249}
row = {Object[1]@14250}
0 = {Customer@14251}
id = {UUID@14252} "95a2adce-7a84-4bda-836d-7de5f135be44"
name = "Anders Andersson"
credit = 5000
created = {Timestamp@14254} "2025-04-09 12:49:58.396667"

list = {ArrayList@14435}  size = 4
0 = {Customer@14428}
id = {UUID@14429} "95a2adce-7a84-4bda-836d-7de5f135be44"
name = "Anders Andersson"
credit = 5000
created = {Timestamp@14431} "2025-04-09 12:49:58.396667"
< /code>
Класс, который я пытаюсь получить, выглядит так. Он выглядит точно так же в другом проекте, за исключением имени пакета. < /P>
package com.mvc.data.enteties;

import java.util.Date;
import java.util.UUID;

import jakarta.persistence.*;

@Entity
@Table(name="T_Customer")
public class Customer {

@Id
@GeneratedValue
private UUID id;

private String name;
private int credit;
private Date created;

// Getters and setters omitted
}
Я попытался удалить все таблицы в базе данных, чтобы позволить Hibernate регенерировать их в новом проекте, и он работал, как и ожидалось, с созданной той же структурой. />
maven < /li>
Spring Boot 3.4.4 < /li>
Jdk 24 < /li>
Hibernate 6.6.13 < /li>
jdbc sql server < /li>
< /ul>

Подробнее здесь: https://stackoverflow.com/questions/795 ... ype-type-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»