如何设置属性排序,当我使用Jpa Example.of

时间:2019-07-17 01:44:55

标签: java spring jpa

如何将属性排序分配给生成的sql?谢谢

表具有index,我想将set index属性设置在哪里

Message condition = new Message();
condition.setReceiver(account);
condition.setChannel(channel);
condition.setState(MessageState.INITIAL);

return messageRepository.findAll(Example.of(condition),Sort.by("createTime").descending());

生成的sql是: 在哪里

message0_.channel=? 
and message0_.state=0 
and message0_.receiver=? 

我想要: 在哪里

message0_.receiver=? 
and message0_.channel=0 
and message0_.state=?

1 个答案:

答案 0 :(得分:0)

恐怕没有可用的API来订购谓词。如果要对生成的查询进行这种级别的控制,最好使用本机查询。

不过,为什么您觉得自己需要呢?在大多数情况下,大多数查询优化器都会忽略谓词的顺序。您实际上是EXPLAIN由Spring Data生成的查询版本以发现未使用索引吗?