【问题标题】:How can I acces another column in entity list?如何访问实体列表中的另一列?
【发布时间】:2019-08-24 04:27:13
【问题描述】:

我使用 JPA 在 JavaEE 中编写后端。 我有一个包含列表的实体。

public class Lesson {

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

时间实体:

@Entity
public class Time {

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

我想获得一个具有特定分配房间的课程列表。

例如:

课程:id=1,次{id:1,assigned_room:room123 -- id:2assign_room_:room321 -- id:3assign_room:room123}

然后我想当我想要room123的所有课程时......我试过了:


@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)]

有没有人知道如何修复错误或问题的解决方案? 谢谢!!

【问题讨论】:

    标签: java jpa jakarta-ee backend jpql


    【解决方案1】:

    问题出在您的member of 子句中,因为您提供了房间的ID,但l.timesTime 类型的集合。例如,您可以使用以下查询:

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

    【讨论】:

      猜你喜欢
      • 2021-11-07
      • 2019-09-17
      • 2023-01-26
      • 2013-08-02
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 2018-07-08
      • 1970-01-01
      相关资源
      最近更新 更多