HQL Hibernate 排序依据
HQL Hibernate order by
我有一个复杂的查询(我已针对这个问题进行了简化),这需要我使用 findAll、findBy 等以外的方法。
有多个实体与一般形式汇集在一起...
PackageDelivery
有一个链接到 Customer
的 customer_id
列。我需要按 PackageDelivery.customer.lastName
排序结果;
目前我正在使用 createSQLQuery
来获取结果。由于客户实体是由 Hibernate 而不是我的本地 SQL 查询引入的,所以我不能仅通过 package_delivery.customer.last_name
添加订单。有没有一种方法可以按 Hibernate 从本机 SQL 查询中提取的实体属性进行排序??
select * from PackageDelivery
inner join PackageContents
left join ProductBillingInfo
添加了相当多的条件和细节,但这是总体思路。
PackageDelivery 有一个链接到客户的 'customer_id' 列。我需要按 PackageDelivery.customer.lastName 排序结果;
目前我正在使用 createSQLQuery 来获取结果。由于客户实体是由 Hibernate 而不是我的本地 SQL 查询引入的,所以我不能仅通过 package_delivery.customer.last_name 添加订单。有没有一种方法可以按 Hibernate 从本机 SQL 查询中提取的实体属性进行排序??
select {pd*.},{tl.*},{pc.*} from package_delivery as pd
inner join transport_log on tl.package_id=pd.id
left join package_contents on pd.id=pc.package_id
//order by pd.customer
def session =sessionFactory.getCurrentSession();
def lookup=session.createSQLQuery(que)
.setParameter('startDate',startdate)
.setParameter('endDate',enddate)
.addEntity('pd', ProductDelivery.class)
.addEntity('tl', TransportLog.class)
//need to sort by ProductDelivery.customer.lastName??
//.setResultTransformer( to???)
//.addOrder(Order.desc(to???)
您可以像 {c} 一样添加该客户 class 并使用 .addEntity('c', Customer.class) 然后使用订单 c.last_name。
并建立 Customer 和 ProductDelivery
的关系
我有一个复杂的查询(我已针对这个问题进行了简化),这需要我使用 findAll、findBy 等以外的方法。 有多个实体与一般形式汇集在一起...
PackageDelivery
有一个链接到 Customer
的 customer_id
列。我需要按 PackageDelivery.customer.lastName
排序结果;
目前我正在使用 createSQLQuery
来获取结果。由于客户实体是由 Hibernate 而不是我的本地 SQL 查询引入的,所以我不能仅通过 package_delivery.customer.last_name
添加订单。有没有一种方法可以按 Hibernate 从本机 SQL 查询中提取的实体属性进行排序??
select * from PackageDelivery
inner join PackageContents
left join ProductBillingInfo
添加了相当多的条件和细节,但这是总体思路。
PackageDelivery 有一个链接到客户的 'customer_id' 列。我需要按 PackageDelivery.customer.lastName 排序结果; 目前我正在使用 createSQLQuery 来获取结果。由于客户实体是由 Hibernate 而不是我的本地 SQL 查询引入的,所以我不能仅通过 package_delivery.customer.last_name 添加订单。有没有一种方法可以按 Hibernate 从本机 SQL 查询中提取的实体属性进行排序??
select {pd*.},{tl.*},{pc.*} from package_delivery as pd
inner join transport_log on tl.package_id=pd.id
left join package_contents on pd.id=pc.package_id
//order by pd.customer
def session =sessionFactory.getCurrentSession();
def lookup=session.createSQLQuery(que)
.setParameter('startDate',startdate)
.setParameter('endDate',enddate)
.addEntity('pd', ProductDelivery.class)
.addEntity('tl', TransportLog.class)
//need to sort by ProductDelivery.customer.lastName??
//.setResultTransformer( to???)
//.addOrder(Order.desc(to???)
您可以像 {c} 一样添加该客户 class 并使用 .addEntity('c', Customer.class) 然后使用订单 c.last_name。 并建立 Customer 和 ProductDelivery
的关系