gpt4 book ai didi

mysql - 如何将此 SQL 查询转换为 hibernate

转载 作者:行者123 更新时间:2023-11-30 00:28:02 25 4
gpt4 key购买 nike

有人可以告诉我如何将此 SQL 查询转换为 hibernate 吗?

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:无法解析属性:这个: 报价大师

我认为这与我试图创建到同一个表的内部联接的这行代码有关:

Criteria c = crit.createCriteria("QuoteMaster", CriteriaSpecification.INNER_JOIN);

基本上,我的问题是“如何使用 Criteria.createCriteria 或 Criteria.createAlias 创建到同一个表的联接?” Criteria 类的文档指出第一个参数是点分隔的属性路径,但这到底意味着什么? :)

到目前为止,我发现的每个示例都展示了如何使用 2 或 3 个表执行此操作,但不是同一个表,而且我不知道第一个参数使用什么。

最佳答案

我不知道你的实体怎么样,这应该给出大概的想法。

from SystQuoteMasterEntity sqm join ( select sqm1.orderbaseid, sqm1.orderId from SystQuoteMasterEntity sqm1 group by orderbaseid,orderdatelastrev order by orderdatelast desc) g2 

关于mysql - 如何将此 SQL 查询转换为 hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22726386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com