Как я могу получить доступ к другому столбцу в списке объектов? - PullRequest
0 голосов
/ 02 апреля 2019

Я пишу свой бэкэнд на JavaEE с использованием JPA. У меня есть объект со списком в нем.

public class Lesson {

    @Id
    private String id;
    private List<Time> times;

Время Entity:

@Entity
public class Time {

    @Id
    @GeneratedValue
    private int id;
    private String assigned_room;

Я хочу получить список уроков, для которых есть определенный номер.

Например:

Урок: id = 1, время {id: 1, назначенный номер: room123 - идентификатор: 2 назначенный номер: номер321 - идентификатор: 3 назначенный номер: номер123}

Тогда я хочу, когда я хочу, чтобы все уроки в комнате123 со временем ... Я попытался:


@NamedQuery(name = "Lesson.getWithRoomId", query = "select l from Lesson l where :id member of l.times")

Но произошла следующая ошибка:

Parameter value [room123] did not match expected type [... .entities.Time (n/a)]

Кто-нибудь знает, как исправить ошибку или решение проблемы? Спасибо !!

1 Ответ

2 голосов
/ 02 апреля 2019

Проблема в вашем предложении member of, так как вы указали идентификатор комнаты, но l.times - это коллекция типа Time.Например, вы можете использовать следующий запрос:

SELECT l FROM Lesson l JOIN l.times t WHERE t.assigned_room = :id
...