ORACLE Caused By: java.sql.SQLSyntaxErrorException: ORA-00933: comando SQL não encerrado adequadamente

3 respostas Resolvido
hibernate
mar0580

Pessoal, peço a ajuda de vocês para entender o motivo do erro que está ocorrendo na tentativa de consulta abaixo:

public String findClienteSeguroVigente(Long idCliente, Long idConhecimento) {
Map<String, Object> parameters = new HashMap<String, Object>();

parameters.put(“idCliente”, idCliente);
parameters.put(“idConhecimento”, idConhecimento);

StringBuilder sql = new StringBuilder()

.append(" SELECT pes.NR_IDENTIFICACAO as NR_IDENTIFICACAO “)

.append(” FROM “).append(DoctoServico.class.getName()).append(” ds, “)

.append(DevedorDocServ.class.getName()).append(” dds, “)

.append(SeguroCliente.class.getName()).append(” sc, “)

.append(Pessoa.class.getName()).append(” pes, “)

.append(Conhecimento.class.getName()).append(” co “)

.append(” WHERE pes.ID_PESSOA = :idCliente “)

.append(” AND co.ID_CONHECIMENTO = :idConhecimento “)

.append(” AND co.ID_CONHECIMENTO = ds.ID_DOCTO_SERVICO “)

.append(” AND ds.ID_DOCTO_SERVICO = dds.ID_DOCTO_SERVICO “)

.append(” AND dds.ID_CLIENTE = sc.ID_CLIENTE “)

.append(” AND TRUNC(SYSDATE) BETWEEN sc.DT_VIGENCIA_INICIAL AND sc.DT_VIGENCIA_FINAL ");
List queryResult = getAdsmHibernateTemplate().findBySql(sql.toString(), parameters, new ConfigureSqlQuery() {

<a class="mention" href="/u/override">@Override</a>

public void configQuery(SQLQuery query) {

query.addScalar(“NR_IDENTIFICACAO”, Hibernate.STRING);

}

});
String  valor  = (String) queryResult.get(0);

return valor ;

}

<div class="lightbox-wrapper"><a class="lightbox" href="/uploads/3X/5/d/5d9ccbafac5c6eea1add7cd970fabfc72108848f.png.webp" data-download-href="/uploads/default/5d9ccbafac5c6eea1add7cd970fabfc72108848f" title="erro_select"><img src="/uploads/3X/5/d/5d9ccbafac5c6eea1add7cd970fabfc72108848f.png.webp" alt="erro_select" data-base62-sha1="dm8kWOwJF9zJtVIcLRWeZy8cODR" width="690" height="134" srcset="/uploads/3X/5/d/5d9ccbafac5c6eea1add7cd970fabfc72108848f.png.webp, /uploads/3X/5/d/5d9ccbafac5c6eea1add7cd970fabfc72108848f.png.webp 1.5x, /uploads/3X/5/d/5d9ccbafac5c6eea1add7cd970fabfc72108848f.png.webp 2x" data-dominant-color="323332"><div class="meta">
<svg class="fa d-icon d-icon-far-image svg-icon" aria-hidden="true"><use href="#far-image"></use></svg>erro_select1565×306 350 KB<svg class="fa d-icon d-icon-discourse-expand svg-icon" aria-hidden="true"><use href="#discourse-expand"></use></svg>
</div></a></div>

3 Respostas

staroski

Conferiu se essa query está correta?

Sua tabela realmente se chama "com.mercurio.lms.expedicao.model.DoctorServico", ou nome dela é somente "DoctorServico"?

Se for isso, basta substituir o .class.getName() por .class.getSimpleName().

mar0580

Olá @staroski
é docto_servico (e está mapeada no hibernate)
a sua sugestão ocorreu outro erro:

staroski
Solucao aceita

docto_servico é diferente de DoctoServico, você está confundindo SQL nativo com JPQL ou HQL.

Criado 3 de agosto de 2023
Ultima resposta 3 de ago. de 2023
Respostas 3
Participantes 2