這是我所期待的SQL查詢字符串:HQL - 如何從一個一對多的第二實體領域的關係和狀態查詢數據
SELECT dbo.FRIEND.FriendId, dbo.FRIEND.MemberId, dbo.FRIEND.FriendMemberId, dbo.FRIEND.DateAdded
FROM dbo.FRIEND INNER JOIN
dbo.MEMBER ON dbo.FRIEND.FriendMemberId = dbo.MEMBER.MemberId
WHERE (dbo.MEMBER.Activate = 1)
這是我的實體關係: 實體朋友場
@Id
@Column(name = "[FriendId]")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long friendId;
@Column(name = "[MemberId]")
private Long memberId;
@OneToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinColumn(name = "[FriendMemberId]")
private Member friendMember;
@Column(name = "[DateAdded]")
private Date dateAdded;
實體會員領域
@Id
@Column(name = "[MemberId]")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long memberId;
@Column(name = "[Activate]", columnDefinition = "boolean default true")
private boolean activate;
這裏是我的HQL查詢:
FROM Friend as f Left join f.Member as m WHERE f.MemberId = :memberId AND m.activate = true
但我得到了錯誤。所以我應該如何編寫HQL查詢獲取數據,其條件取決於member.activate?
在關於'@ OneToMany'的標題中,只有'@ OneToOne'指示。 – 2016-01-24 08:41:23