Sorting on embedded object apply sort clausole only to last property

Viewed 41
@Embeddable
@Value
public class Version
{
    int major;
    int minor;
    int patch;
}

@Entity
public class CodeAndVersionEntity extends PanacheEntityBase
{
    @Id
    public String code;
    
    @Embedded
    public Version version;
    
    public static Collection<CodeAndVersionEntity> listOrdered()
    {
        return CodeAndVersionEntity.list("from CodeAndVersionEntity", Sort.descending("versione"));
    }
}

Generate query:

select
    codeandver0_.code as code1_0_,
    codeandver0_.major as major2_0_,
    codeandver0_.minor as minor3_0_,
    codeandver0_.patch as patch4_0_ 
from
    CodeAndVersionEntity codeandver0_ 
order by
    codeandver0_.major,
    codeandver0_.minor,
    codeandver0_.patch desc

Are there any ways to let Hibernate generate the right order by clause as:

order by
    codeandver0_.major desc,
    codeandver0_.minor desc,
    codeandver0_.patch desc

other than specify all properties in sort clause as Sort.descending("versione.major","versione.minor","versione.patch")?

I'm using Quarkus 2.6.2.Final with Hibernate 5.6.1.Final.

0 Answers
Related