如何访问实体列表中的另一列?
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.times
是Time
类型的集合。例如,您可以使用以下查询:
SELECT l FROM Lesson l JOIN l.times t WHERE t.assigned_room = :id
【讨论】:
以上是关于如何访问实体列表中的另一列?的主要内容,如果未能解决你的问题,请参考以下文章