我有用戶和任務。每個用戶可以有多組任務,反之亦然。我打電話給任務「成員」中包含的用戶,但我沒有成員實體,它是隱含的,並通過註釋@JoinTable(name = "member"...
進行聲明。代碼:使用關聯表的JPQL/HQL查詢
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column
private int id;
@ManyToMany
@JoinTable(name = "member", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "task_id"))
private Set<Task> tasks = new HashSet<>();
}
@Entity
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column
private int id;
@ManyToMany(mappedBy = "tasks")
private Set<User> users = new HashSet<>();
private Calendar initialDate;
private Calendar finalDate;
}
我的問題是在JPQL查詢,因爲我沒有一個真正的會員豆(@Entity註釋和東西),我不能做任何事情,在我的倉庫一樣(假設我已經和會員實體至極地圖一個用戶和任務):
FROM User u
WHERE NOT EXISTS
(
FROM Member m WHERE m.task.finalDate >= :inicial AND m.task.finalDate <= :final
AND m.user.id = u.id//Member here is a hipotetical/nonexistent entity
)
即使世界任何方式使用JPQL/HQL或我需要退回到原生SQL查詢此查詢? Ty
明確JPQL語句開始「選擇{}別名」 ... –
從未使用選擇的HQL查詢,這將解決任何我的煩惱呢? –
這意味着您的查詢是有效的JPQL,即標準投訴JPA。沒有它,他們是沒有用的,除了休眠... –