0
我有以下實體:JPQL OUTER JOIN
@Entity
public class Node {
@Id
private int id;
@Column
private String name;
//getters, setters
}
@Entity
public class Message {
@Id
private int id;
@Column
private String message;
@Column
private Date timeStamp
@ManyToOne
private Node node;
//getters, setters
}
讓現在我有3個節點(N1,N2,N3)承擔。 N1和N2具有消息和N3可是沒有任何 我想作爲一個結果表如下:
| Node | Last Message |
-----------------------
| N1 | 2014-05-26 |
| N2 | 2014-05-23 |
| N3 | |
-----------------------
所以基本上我想要一個JPQL查詢returnsthe最新Message
每個Node
分組, 也顯示沒有任何消息的節點。 到目前爲止我有以下查詢其犯規得到期望的結果:
select
nod.name,
msg.timeStamp
from
Node nod,
Message msg
where
msg.timeStamp IN
(select
max(ms.timeStamp)
from
Message ms
group by
ms.node)
我可能錯過了參加地方在那裏,但不能確定。
啊仍然使用jpa 2.0,並得到使用正確的連接IDE錯誤。升級到2.1,它的工作:) – ChrisGeo 2014-09-28 16:24:10
哦,很好,你認爲它。我忘記提及這一點。 Sry基因。 – 2014-09-28 19:27:53