是否有人可以告訴我怎麼這個SQL查詢轉換到休眠?如何轉換這個SQL查詢進入休眠
SELECT * FROM sys_quote_master AS g1
INNER JOIN
(SELECT order_base_id, order_id FROM sys_quote_master
GROUP BY order_base_id, order_date_last_revised
ORDER BY order_date_last_revised desc) AS g2
ON g2.order_id = g1.order_id;
基本上,
我已經嘗試這樣做,這是行不通的:
DetachedCriteria crit1 = DetachedCriteria.forClass(QuoteMaster.class);
ProjectionList pList = Projections.projectionList();
pList.add(Projections.groupProperty("orderBaseId"));
session = HibernateSessionFactory.currentSession();
Criteria crit = session.createCriteria(QuoteMaster.class);
Criteria c = crit.createCriteria("QuoteMaster", CriteriaSpecification.INNER_JOIN);
c.setProjection(pList);
我得到這個錯誤:
org.hibernate.QueryException:無法解析屬性:這一點: QuoteMaster
而且我認爲它必須做這行代碼是我想創建一個內連接到同一個表:
Criteria c = crit.createCriteria("QuoteMaster", CriteriaSpecification.INNER_JOIN);
所以基本上,我的問題是「如何創建一個連接到相同的表使用Criteria.createCriteria或Criteria.createAlias?' Criteria類的文檔聲明第一個參數是一個點分隔的屬性路徑,但是這意味着什麼? :)
每一個例子,我發現迄今展示瞭如何用2個或3個表格,但不相同的表做到這一點,我不知道該怎麼使用的第一個參數。
你嘗試過什麼?描述您的需求並要求某人爲您編寫代碼或解釋如何編寫代碼的問題與Stack Overflow無關。請確定有關編程的特定問題或問題。包括嘗試解決方案,解釋結果與預期結果的差異以及您收到的任何錯誤消息。請閱讀[關於](http://stackoverflow.com/about)頁面和[關於提出良好問題的建議](http://stackoverflow.com/help/how-to-ask)。 –
你好,我更新了原始文章與更多的信息。 – jrobertsz66
這是跨越式的更好。我正在收回我的近距離投票並加註。順便說一句,反引號是用於內聯代碼跨度的(在描述性文本中)。分隔線上的代碼應放在代碼塊中(縮進4或突出顯示並單擊th符號)。塊引用適用於錯誤消息(在行的開頭添加'>') –