gpt4 book ai didi

hibernate - 从一级 hibernate Hibernate createCriteria JOIN,ORDER,DISTINCT

转载 作者:行者123 更新时间:2023-12-02 14:12:48 24 4
gpt4 key购买 nike

我有3节课:第一,第二,第三
我有大约这样的createria:

First.createCriteria().listDistinct {
if(....){fetchMode("second", FetchMode.JOIN)
fetchMode("second.third", FetchMode.JOIN)}
order(sortOrder, orderBy)
order("id", "desc")
}

(当“如果”为false时,createCriteria可以正常工作)

当“if”为true时,Hibernate生成这样的sql请求
select 
distinct id,
secondfield
from
FIRST as firsts
inner join
SECOND
... on ...
inner join
THIRD
... on ...
where(...)
order by
firsts.name asc
firsts.id desc

但由于(distinct,join,order by)不能处于同一级别,因此sql请求无法执行。
我在SQL开发人员中吃午餐。没有(区别,加入,排序依据)之一的请求可以正常工作。
我该怎么办。
我可以强制休眠在“不同的SELECT”级别进行(联接,不同)和(顺序)吗?
我如何包装另一个选择的选择?
select *
from
(select
distinct id,
secondfield
from
FIRST as firsts
inner join
SECOND
... on ...
where(......))
order by
(......)

最佳答案

您可以尝试使用Groovy.SQL。*,它比HQL查询具有更多的灵活性。

试试这个:http://groovy.codehaus.org/Tutorial+6+-+Groovy+SQL

关于hibernate - 从一级 hibernate Hibernate createCriteria JOIN,ORDER,DISTINCT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13014497/

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