我正在運行HQL查詢以獲得結果MS SQL Server。休眠生成的SQL提供了正確的輸出(例如2個結果),但Hibernate只提取一個結果。即使在堆棧跟蹤中,它也顯示查詢返回了一個結果。我嘗試過使用desc和asc命令,但它總是獲得最低ID值的命令。我看過我的模型,但似乎沒有錯。HQL僅從多個結果中提取一個結果
我正在使用createquery("my query").list()
方法。有人遇到同樣的問題嗎?
createquery("from Analysis a where a.sample = *someNumber* ").list()
的HQL生成的SQL給出正確的結果,當我在數據庫上運行此
select analysis0_.idAnalysis as idAnalys1_5_, analysis0_.changes_timestamp as changes_2_5_, analysis0_.Analysis_Done_Date as Analysis3_5_, analysis0_.Analysis_Remarks as Analysis4_5_, analysis0_.Sample_idSample as Sample_i5_5_, analysis0_.Analysis_Start_Date as Analysis6_5_, analysis0_.Analysis_Status as Analysis7_5_ from Re_at_AIM_User.analysis analysis0_ where analysis0_.Sample_idSample=*someNumber*
公共類分析實現Serializable {
private static final long serialVersionUID = -1216945678610624994L;
@Column(name = "changes_timestamp", columnDefinition = "datetime")
@Temporal(TemporalType.TIMESTAMP)
private Date changesTimestamp;
@Column(name = "Analysis_Done_Date", columnDefinition = "datetime")
@Temporal(TemporalType.TIMESTAMP)
private Date doneDate;
@Id
@Column(name = "idAnalysis", columnDefinition = "bigint")
private Integer id;
@Column(name = "Analysis_Remarks")
private String remarks;
@Column(name = "Analysis_Start_Date", columnDefinition = "datetime")
@Temporal(TemporalType.TIMESTAMP)
private Date startDate;
@Column(name = "Analysis_Status")
private String status;
@ManyToOne()
@JoinColumn(name = "Sample_idSample")
private Sample sample;
public Analysis() {
}
public Date getChangesTimestamp() {
return changesTimestamp;
}
public Date getDoneDate() {
return doneDate;
}
public Integer getId() {
return id;
}
public String getRemarks() {
return remarks;
}
public Date getStartDate() {
return startDate;
}
public String getStatus() {
return status;
}
public void setChangesTimestamp(Date changesTimestamp) {
this.changesTimestamp = changesTimestamp;
}
public void setDoneDate(Date doneDate) {
this.doneDate = doneDate;
}
public void setId(Integer idAnalysis) {
this.id = idAnalysis;
}
public void setRemarks(String remarks) {
this.remarks = remarks;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public void setStatus(String status) {
this.status = status;
}
public Sample getSample() {
return sample;
}
public void setSample(Sample sample) {
this.sample = sample;
}
}
您可以請分享您正在使用的查詢來獲取數據嗎? –