JPA возвращает один и тот же объект несколько раз вместо ожидаемых объектовJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JPA возвращает один и тот же объект несколько раз вместо ожидаемых объектов

Сообщение Anonymous »

У меня есть этот класс сущности

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

// package and imports

@Entity
@IdClass(WorkflowRouteId.class)
@Table(name = "workflowroute")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class WorkflowRoute {
@Column(name = "inputmoduleid", nullable = false)
private UUID inputModuleId;
@Column(name = "outputmoduleid", nullable = false)
private UUID outputModuleId;
@Column(name = "instance", nullable = false)
private short instance;
@Column(name = "waitall", nullable = false)
private boolean waitAll;
@Id
@ManyToOne
@JoinColumn(name = "workflowid", referencedColumnName = "id", nullable = false)
private Workflow workflow;
@Id
@ManyToOne
@JoinColumn(name = "routeid", referencedColumnName = "id", nullable = false)
private Route route;
}
Это @IdClass

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

// package and imports

@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode
@Getter
@Setter
public class WorkflowRouteId implements Serializable {
private UUID workflow;
private UUID route;
}
И репозиторий

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

// package and imports

@Repository
public interface WorkflowRouteRepository extends JpaRepository {
@Query("SELECT wr FROM WorkflowRoute wr WHERE wr.workflow.id = :workflowId")
List findWorkflowRouteByWorkflowId(UUID workflowId);
List findAllByWorkflowId(UUID workflowId);
List findAllByWorkflow_Id(UUID workflowId);
List findAllByWorkflow(Workflow workflow);
}
Как видно по названиям методов репозитория, все они делают одно и то же. Но ни один из них не возвращает ожидаемых результатов.
Я ожидаю получить 8 различных объектов WorkflowRoute, вместо этого я получаю первый из них, «клонированный» 8 раз. Я, конечно, проверил БД, ошибки там нет. Что мне интересно, так это то, что количество ожидаемых объектов всегда соответствует количеству фактически возвращенных объектов, но, как я уже сказал, все возвращаемые объекты одинаковы. Ребята, есть ли у вас какие-либо подсказки/советы о том, что я сделал неправильно?
(Редактировать) Вот что у меня есть в БД
Столбцы: workflowid Routeid inputmoduleid outputmoduleid экземпляр waitall
Данные:
"4e97b14c-83ec-4047-9b1a-2a38569f6a4e"

"e0147698-655d-4475-9198-24bbdceed685"

"b06f0447-df6d-4379-b273-7302fcfe58c4"

"d8aba9c5-fa6b-4eb4-bbd9-286c33baa17b"

1

false
"4e97b14c-83ec-4047-9b1a -2a38569f6a4e"

"e0147698-655d-4475-9198-24bbdceed685"

"d8aba9c5-fa6b-4eb4-bbd9-286c33baa17b"

"5c4b95d0-f292-4cdb-b1b6-b3af2298f843"

2

false
"4e97b14c-83ec-4047-9b1a -2a38569f6a4e"

"e0147698-655d-4475-9198-24bbdceed685"

"5c4b95d0-f292-4cdb-b1b6-b3af2298f843"

"695e6514-edc0-4f44-a544-a847c6b8dd66"

3

false
"4e97b14c-83ec-4047-9b1a -2a38569f6a4e"

"e0147698-655d-4475-9198-24bbdceed685"

"695e6514-edc0-4f44-a544-a847c6b8dd66"

"8427116e-4426-43cb-93b5-bbb802e936fa"

4

false
"4e97b14c-83ec-4047-9b1a -2a38569f6a4e"

"e0147698-655d-4475-9198-24bbdceed685"

"8427116e-4426-43cb-93b5-bbb802e936fa"

"54fda010-db9b-4b0b-9daa-c9bf8bc2487f"

5

false
И вот что я получаю
"4e97b14c-83ec-4047-9b1a-2a38569f6a4e"

"e0147698-655d-4475-9198-24bbdceed685"

"b06f0447-df6d-4379-b273-7302fcfe58c4"

"d8aba9c5-fa6b-4eb4-bbd9-286c33baa17b"

1

false
"4e97b14c-83ec-4047-9b1a -2a38569f6a4e"

"e0147698-655d-4475-9198-24bbdceed685"

"b06f0447-df6d-4379-b273-7302fcfe58c4"

"d8aba9c5-fa6b-4eb4-bbd9-286c33baa17b"

1

ложь
и еще 3 раза.< /п>

Подробнее здесь: https://stackoverflow.com/questions/792 ... ed-objects
Ответить

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

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

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

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

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