3
我試圖從另一個表中使用Hibernate的@Formula註釋檢索一個實體。考慮下面的代碼:使用休眠公式從另一個表中選擇一個實體
@Entity
class Test {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private Long id = null;
// ...
@Formula("(SELECT r FROM Result r WHERE test_id = id AND resultDate = (SELECT MAX(resultDate) FROM Result WHERE test_id = id))")
private Result lastestResult;
// ...
public Result getLatestResult() {
return latestResult;
}
// ...
}
結果類看起來是這樣的:
@Entity
class Result {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private Long id = null;
@ManyToOne
private Test test;
// ...
}
但在試圖加載測試的實體,我得到錯誤「列‘TEST0_.RESULTDATE’未找到」。我嘗試了其他一些涉及@JoinFormula註釋的事情,但沒有取得任何成功。我也遇到了this answer,這似乎表明我正在做的事情應該工作,但事實並非如此。我如何完成這項工作?