Consulta retorna lista vazia para o grid

Bom dia galera sangue bom, é o seguinte tenho um grid que vai receber uma listagem que vem de requisição no banco, só que não está funcinando, não aparece nada no grid. Abaixo seguem as minhas classes… Se alguém puder ajudar, estou quebrando cabeça.

Bean de entidade:

public class TsRota {
	
	private String controleCliente;
	private String veiculoplaca;
	private String nomeMotorista;
	private String semiReboquePlaca;
	private String cidadeOrigem;
	private String ufOrigemCidade;
	private String cidadeDestino;
	private String dataInic;
	private String dataFim;
	private String descricao;
	private String valor;
	private String observacao;
	private String obervacaoCliente;
	public String getControleCliente() {
		return controleCliente;
	}
	public void setControleCliente(String controleCliente) {
		this.controleCliente = controleCliente;
	}
	public String getVeiculoplaca() {
		return veiculoplaca;
	}
	public void setVeiculoplaca(String veiculoplaca) {
		this.veiculoplaca = veiculoplaca;
	}
	public String getNomeMotorista() {
		return nomeMotorista;
	}
	public void setNomeMotorista(String nomeMotorista) {
		this.nomeMotorista = nomeMotorista;
	}
	public String getSemiReboquePlaca() {
		return semiReboquePlaca;
	}
	public void setSemiReboquePlaca(String semiReboquePlaca) {
		this.semiReboquePlaca = semiReboquePlaca;
	}
	public String getCidadeOrigem() {
		return cidadeOrigem;
	}
	public void setCidadeOrigem(String cidadeOrigem) {
		this.cidadeOrigem = cidadeOrigem;
	}
	public String getUfOrigemCidade() {
		return ufOrigemCidade;
	}
	public void setUfOrigemCidade(String ufOrigemCidade) {
		this.ufOrigemCidade = ufOrigemCidade;
	}
	public String getCidadeDestino() {
		return cidadeDestino;
	}
	public void setCidadeDestino(String cidadeDestino) {
		this.cidadeDestino = cidadeDestino;
	}
	public String getDataInic() {
		return dataInic;
	}
	public void setDataInic(String dataInic) {
		this.dataInic = dataInic;
	}
	public String getDataFim() {
		return dataFim;
	}
	public void setDataFim(String dataFim) {
		this.dataFim = dataFim;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}
	public String getValor() {
		return valor;
	}
	public void setValor(String valor) {
		this.valor = valor;
	}
	public String getObservacao() {
		return observacao;
	}
	public void setObservacao(String observacao) {
		this.observacao = observacao;
	}
	public String getObervacaoCliente() {
		return obervacaoCliente;
	}
	public void setObervacaoCliente(String obervacaoCliente) {
		this.obervacaoCliente = obervacaoCliente;
	}
	
}

O DAO esta instrução SQL foi testada no IBExpert e está funcionando acho que é questão de método mesmo…

public List<TsRota> getRotas(Integer IdCliente) {
		
		List<TsRota> retorno = new ArrayList<TsRota>();
		session = HibernateSession.getSession();

		String sql = "SELECT V.CONTROLECLIENTE, V.PLACA, M.NOME, COALESCE(SR1.PLACA,'')||'/'" +
				"|| COALESCE(SR2.PLACA,'')||'/'||COALESCE(SR3.PLACA,'')"
				+ " VI.DTHRINI, ORI.NOME||'/'||ORI.UF, VI.DTHRFIM, DEST.NOME||'/'||DEST.UF,"
				+ "(SELECT FIRST 1 TC.DESCRICAO FROM TSENTREGA ENT"
				+ " LEFT JOIN TSTIPOCARGA TC ON (TC.IDTIPOCARGA = ENT.IDTIPOCARGA)"
				+ " WHERE (ENT.IDENTREGA > 0) AND (ENT.IDVIAGEM = GR.IDVIAGEM) ORDER BY ENT.ORDEM),"
				+ " (SELECT FIRST 1 ENT.VALOR FROM TSENTREGA ENT WHERE (ENT.IDENTREGA > 0)"
				+ " AND (ENT.IDVIAGEM = GR.IDVIAGEM) ORDER BY ENT.ORDEM ) VI.OBS, V.OBSCLIENTE"
				+ " FROM TSVEICULO V LEFT JOIN TSGRIDROTA GR ON (GR.IDVEICULO = V.IDVEICULO)"
				+ " LEFT JOIN TSVIAGEM VI ON (VI.IDVIAGEM = GR.IDVIAGEM)"
				+ " LEFT JOIN TSROTAPAD RP ON (RP.IDROTAPAD = GR.IDROTAPAD)"
				+ " LEFT JOIN TSMOTORISTA M ON (M.IDMOTORISTA = V.IDMOTORISTA)"
				+ " LEFT JOIN CIDADE ORI ON (ORI.CIDADE = RP.IDCIDORIGEM)"
				+ " LEFT JOIN CIDADE DEST ON (DEST.CIDADE = RP.IDCIDDESTINO)"
				+ " LEFT JOIN TSSEMIREBOQUE SR1 ON (SR1.IDSEMIREBOQUE = V.IDSEMIREBOQUE1)"
				+ " LEFT JOIN TSSEMIREBOQUE SR2 ON (SR2.IDSEMIREBOQUE = V.IDSEMIREBOQUE2)"
				+ " LEFT JOIN TSSEMIREBOQUE SR3 ON (SR3.IDSEMIREBOQUE = V.IDSEMIREBOQUE3)"
				+ " WHERE (V.IDVEICULO > 0) AND (V.CLIENTE = " + idCliente + ")" 
				+ "	AND (V.ATIVO <> 'N')";

		System.out.println(sql);

		try {
			PreparedStatement stmt = session.connection().prepareStatement(sql);
			ResultSet rs = stmt.executeQuery();
			while (rs.next()) {
				
				
				TsRota rota= new TsRota();
				String placaSemiR = rs.getString("SR1.PLACA")+ "/" + rs.getString("SR2.PLACA")+ "/" + rs.getString("SR3.PLACA");
				String origem = rs.getString("ORI.NOME")+"/"+rs.getString("ORI.UF");
				String destino = rs.getString("DEST.NOME")+"/"+rs.getString("DEST.UF");
				
				
				rota.setControleCliente(rs.getString("V.CONTROLECLIENTE"));
				rota.setVeiculoplaca(rs.getString("V.PLACA"));
				rota.setNomeMotorista(rs.getString("M.NOME"));
				rota.setSemiReboquePlaca(rs.getString("placaSemiR"));
				rota.setCidadeOrigem("origem");
				rota.setDataInic(rs.getString("VI.DTHRINI"));
				rota.setCidadeDestino("destino");
				rota.setDataFim(rs.getString("VI.DTHRFIM"));
				rota.setDescricao(rs.getString("TC.DESCRICAO"));
				rota.setValor(rs.getString("ENT.VALOR"));
				rota.setObservacao(rs.getString("VI.OBS"));
				rota.setObervacaoCliente(rs.getString("V.OBSCLIENTE"));

				retorno.add(rota);
				
			}
			stmt.close();
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			session.close();
		}
		return retorno;
	}

A classe que acessa e chama o metodo no DAO:

public class RotaInf extends RotaInfForm {
	
	private TsClienteResp usuario = null;
	
	public RotaInf() {
		
		Calendar c = Calendar.getInstance();
		c.set(Calendar.MINUTE, c.get(Calendar.MINUTE)+ 30);
		this.dataInicio.setValue(c.getTime());
		this.horaInicio.setValue(new SimpleDateFormat("HH:mm").format(c.getTime()));
		
		c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH)+ 1);
		this.dataFim.setValue(c.getTime());
		this.horaFim.setValue(new SimpleDateFormat("HH:mm").format(c.getTime()));
		
		usuario = (TsClienteResp) JsfHelper.getSessionAttribute("usuario");
		this.tabela = new TsVeiculoDao().getRotas();
	}
}

Aqui vai o trecho na minha tela onde está o grid.

	<f:view>
		<h:form id="form">
			<div id="toolbar-home">
				<div class="migalha">
					<a href="../home/home.jsf">Inicio</a> > <b>Envio Simples</b>
				</div>
				<%@include file="../home/sair.jsp"%>
				<div class="clear"></div>
			</div>
			<div class="title" align="center">ENVIO DE ROTA SIMPLES</div>
			<div class="filterTable">
				<t:dataTable id="tabela" rowClasses="row1, row2" var="list"
					value="#{rotaInf.tabela}" align="center">
					<t:column>
						<f:facet name="header">
							<h:outputText value="CONTROLE" />
						</f:facet>
						<h:inputText style="font-size:8px;" value="#{list.controleCliente}" />
					</t:column>
					<t:column>
						<f:facet name="header">
							<h:outputText value="REBOQUE" />
						</f:facet>
						<s:outputText for="reboque" style="font-size:8px;" label="#{list.veiculoplaca}" />
					</t:column>
					<t:column>
						<f:facet name="header">
							<s:outputText style="font-size:8;" value="MOTORISTA" />
						</f:facet>
							<s:outputText for="motorista" style="font-size:8px;" label="#{list.nomeMotorista}" />
					</t:column>
					<t:column>
						<f:facet name="header">
							<h:outputText value="SEMI-REBOQUE" />
						</f:facet>
							<s:outputText for="semireboque" style="font-size:8px;" label="#{list.semiReboquePlaca}" />
					</t:column>
					<t:column styleClass="rota">
						<f:facet name="header">
							<h:outputText value="ORIGEM" />
						</f:facet>
							<s:outputText for="origem" style="font-size:8px;" label="#{list.cidadeOrigem}" />
					</t:column>
					<t:column styleClass="rota">
						<f:facet name="header">
							<h:outputText value="PREV. INÍCIO" />
						</f:facet>
							<s:outputText for="dataIni" style="font-size:8px;" label="#{list.dataInic}" />
					</t:column>
					<t:column styleClass="rota">
						<f:facet name="header">
							<h:outputText value="DESTINO" />
						</f:facet>
							<s:outputText for="destino" style="font-size:8px;" label="#{list.cidadeDestino}" />
					</t:column>
					<t:column styleClass="rota">
						<f:facet name="header">
							<h:outputText value="PREV. FIM" />
						</f:facet>
							<s:outputText for="dataFim" style="font-size:8px;" label="#{list.dataFim}" />
					</t:column>
					<t:column styleClass="rota">
						<f:facet name="header">
							<h:outputText value="CARGA" />
						</f:facet>
							<s:outputText for="carga" style="font-size:8px;" label="#{list.descricao}" />
					</t:column>
					<t:column styleClass="rota">
						<f:facet name="header">
							<h:outputText value="VALOR" />
						</f:facet>
							<s:outputText for="valor" style="font-size:8px;" label="#{list.valor}" />
					</t:column>
					<t:column>
						<f:facet name="header">
							<h:outputText value="OBS. ROTA" />
						</f:facet>
							<s:outputText for="obs" style="font-size:8px;" label="#{list.observacao}" />
					</t:column>
					<t:column>
						<f:facet name="header">
							<h:outputText value="OBS. INTERNA" />
						</f:facet>
							<s:outputText for="obsInterna" style="font-size:8px;" label="#{list.observacaoCliente}" />
					</t:column>
				</t:dataTable>
			</div>
		</h:form>
	</f:view>

Se alguém puder ajudar aí… já estou a 4 dias quebrando cabeça!!!
Desde já agradeço. :!: :shock: