![](/img/trans.png)
[英]Is it possible to override Java getter (method) with Kotlin val (property)?
[英]Is it possible to override getter?
這是我正在努力解決的問題(對於Java和Hibernate來說是相當新的問題,因此答案可能很明顯,但我真的無法弄清楚):
我有一個帶有非唯一ID
列的表。 成對的表行看起來像這樣:
ID|NAME|CODE|START_DATE|END_DATE
--------------------------------
1 |name|1234|1900-01-02|2013-01-01
--------------------------------
1 |name|1234|2013-01-01|4999-01-01
--------------------------------
2 |name1|123|1900-01-02|2013-01-01
--------------------------------
2 |name1|123|2013-01-01|4999-01-01
--------------------------------
每對行中的兩行之間唯一不同的是時間段( START_DATE
和END_DATE
)
有什么方法可以覆蓋getter,僅獲取行的ID
,其中START_DATE
是2013-01-01
在休眠狀態下,大多數人建議創建一個域訪問對象(DAO)以執行專門的查詢,並在控制器將調用的服務層之上放置一個服務層。
我不確定您是直接在哪個版本上使用hibernate或JPA,否則我可能會嘗試提供代碼解決方案。 盡管在大多數情況下,一對多關系實際上確實需要在Spring和Hibernate中調用它們自己的DAO方法。
編輯:嘗試這樣,然后為JPA 2
public List<Row> findByStartDate(Date date) {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<Row> criteria = cb.createQuery(Row.class);
Root<Row> r = criteria.from(Row.class);
Predicate dateEquals = cb.equal(r.get("startDate"), date);
criteria.select(r).where(dateEquals);
return entityManager.createQuery(criteria).getResultList();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.