【发布时间】:2018-09-08 00:15:24
【问题描述】:
有人知道如何使用 HQL 从实体中查询元素集合吗? 我正在尝试从给定的 LiveTournament 加载所有时间表,其中回合数是特定的。我需要这样的查询:
select m from MatchSchedule m where m.round=:round and m.tournament=:id
但这给了我一个“未映射”的异常,我想是因为 MatchSchedule 不是实体而是可嵌入的。
我的 LiveTournament 实体的结构如下:
public class LiveTournament {
@Id
private int id;
@OneToOne
@JoinColumn(name="id")
@MapsId
private Tournament tournament;
private TournamentParameters parameters;
private TournamentRoundData roundData;
@ElementCollection
@JoinTable(name="MatchSchedule", joinColumns=@JoinColumn(name="tournamentId"))
private Collection<MatchSchedule> matchSchedules = new ArrayList<>();
...
还有我的 MatchSchedule 可嵌入:
public class MatchSchedule {
private int round;
private Timestamp startDate;
@OneToOne
@JoinColumn(name="server")
private Server server;
...
【问题讨论】:
标签: hibernate hql embeddable