我有这个本地查询:
@Query(nativeQuery = true,
countQuery = "SELECT count(*) FROM db_central.mensagem WHERE usuario_id = ?1",
value = "SELECT m.id, m.data, u.nome as usuario, \n" +
"ultima_visualizacao, \n" +
"(SELECT max(resposta) FROM db_central.mensagem_destinatario md WHERE md.mensagem_id = m.id)as ultima_resposta, \n" +
"(SELECT COUNT(*) FROM db_central.mensagem_destinatario md WHERE md.mensagem_id = m.id) as destinatarios, \n" +
"(SELECT COUNT(*) FROM db_central.mensagem_destinatario_resposta mdr JOIN db_central.mensagem_destinatario md ON md.id = mdr.mensagem_destinatario_id WHERE md.mensagem_id = m.id) as responderam, \n" +
"ARRAY(SELECT nome FROM db_central.mensagem_tipo_consulta mtc JOIN db_central.tipo_consulta tc ON tc.id = mtc.tipo_consulta_id WHERE mtc.mensagem_id = m.id ORDER BY natureza_cartorio_id) as tipos \n" +
"FROM db_central.mensagem m \n" +
"JOIN db_central.usuario u ON u.id = m.usuario_id WHERE m.usuario_id = ?1")
Page<MensagemEnviada> findByUsuarioId(Integer id, Pageable pageable);
在我的控制器中,我有
@GetMapping("/enviada/{id}")
public Page<MensagemEnviada> findEnviadas(@PathVariable Integer id, @PageableDefault(sort = { "id"}, direction = Sort.Direction.ASC) Pageable page){
return mensagemService.findbyUsuario(id, page);
}
但是当spring通过在别名md.id
中放置别名并生成正确的m.id
来生成订单时,是否可以在Pageable中进行配置?
谢谢