0
選擇父我有以下表格:休眠:與兒童狀況
HEADER
---------------------------------
ID | STATUS
---------------------------------
1 | A
---------------------------------
2 | B
---------------------------------
DATA
--------------------------------------------------
ID | HEADER_ID | DKEY | DVALUE
--------------------------------------------------
1 | 1 | Age | 90
--------------------------------------------------
2 | 1 | Gender | M
--------------------------------------------------
3 | 1 | Score | 1000
--------------------------------------------------
1 | 2 | Age | 8
--------------------------------------------------
2 | 2 | Gender | M
--------------------------------------------------
3 | 2 | Score | 0
--------------------------------------------------
我的JPA類:
**@Entity
@Table (name="HEADER")
public class Header {
@Id
@GeneratedValue
private int id;
@Column (name="STATUS")
private String status;
@OneToMany (cascade=CascadeType.ALL, orphanRemoval=true, mappedBy="header")
@LazyCollection(LazyCollectionOption.FALSE)
private Set<Data> dataList;
--- getters and Setters ---
}
@Entity
@Table (name="DATA")
publi class Data {
@Id
@GeneratedValue
private int id;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "HEADER_ID", nullable = false)
private Header header;
@Column (name="DKEY")
private String key;
@Column (name="DVALUE")
private String value;
}**
現在,我的問題是,我想使用休眠選擇一個數據標題的「年齡」等於「90」和「性別」等於「M」。 我嘗試瞭如下的方法:
選擇從首標h不同ħ左連接h.dataList DL其中(dl.key = '年齡' 和dl.value = '90')和(dl.key =「性別'和dl.value ='M')
由於條件「(dl.key ='Age'和dl.value = '90')和(dl.key ='Gender'和dl.value ='M')「在一個」DATA「記錄中執行,該記錄總是會產生錯誤。
如果我把或者(「dl.key ='Age'和dl.value ='90')或者(dl.key ='Gender'和dl.value ='M')」結果是錯誤的因爲我想獲得那些數據滿足年齡和性別條件的標題。
因爲這個問題,我有幾個小時的頭痛,我已經沒有辦法解決問題了。希望有人能指出我正確的方向/解決方案。
非常感謝喲。