如何访问实体列表中的另一列?

Posted

技术标签:

【中文标题】如何访问实体列表中的另一列?【英文标题】: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)]

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

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于如何访问实体列表中的另一列?的主要内容,如果未能解决你的问题,请参考以下文章

如何根据 mySQL 中的另一列选择一列?

如何将一列的列值组合到 MySQL 中的另一列中?

如何根据python中的另一列自动添加日期?

如何连接由 Presto 中的另一列分组的数组?

如何根据 PySpark 数据框的另一列中的值修改列? F.当边缘情况

如何根据MySQL中的另一列有条件地选择列