Problema Consulta Dados Banco Via WebService

Boa tarde Galera. estou começando com Hibernate e ainda tenho muitas duvidas ,seguinte: estou fazendo um projeto J2me e webservices e preciso recuperar uma String do banco de dados de uma tabela relacionada com outra.Tabela 1: Onibus(idOnibus,nomeOnibus) , Tabela2: Logradouro(idLogradouro,ruaLogradouro).Ous eja preciso de determinado Onibus q faça parte de dois endereços(Origem e Destino);
Fazendo os testes pelo Browser e digitando o conteudo na consulta consigo os retornos desejados, porem quando quero receber pelo cliente de celular nao consigo saber qual parametro passar na query = Select … . … da classe entidade Onibus(e estou fazendo a consulta n mão, tem algum jeito de recuperar dados entre duas tabelas de alguma forma mais simples com hibernate ??).
Vou mandar as classes q envolvem o problema…agradeço mto a ajuda!!
Principal.java(cliente J2me)

........
else if (displayable == fmConsultaOnibus) {
            if (command == cmConsultarOnibus) {
                //inicializa a lista de resultados de onibus
                getLtOnibus();
                //limpa a lista
                ltOnibus.deleteAll();
                //recupera oa dados do servidor e armazena em listOnibus
                String [] listOnibus = null;
                OperacoesOnibusService_Stub op = new OperacoesOnibusService_Stub();
                try {
                    listOnibus = op.buscaListaOnibusEndereco(tfOrigemOnibus.getString(),tfDestinoOnibus.getString());
                } catch (RemoteException ex) {
                    ex.printStackTrace();
                }
                   //cria variavel que armazena listOnibus e troca # por espaço em branco
                  String result= "\n";
                  for(int i=0; i < listOnibus.length; i++)
                  {
                      result += listOnibus[i].replace('#',' ')+"\n";
                      System.out.println(listOnibus[i]);
                      ltOnibus.append(result, null);
                  }
                  switchDisplayable(null, getLtOnibus());
..........

OperacoesOnibus.java(Web Service)

[code]
import …

@WebService()
public class OperacoesOnibus {
@PersistenceContext(unitName=“ProjetoOnibusServicePU”)
EntityManager entityManager;
/**
* Operação de serviço web
*/
@WebMethod(operationName = “buscaListaOnibusEndereco”)
public List buscaListaOnibusEndereco(@WebParam(name = “origem”)
String origem, @WebParam(name = “destino”)
String destino) {
List listOnibus = new ArrayList();
List onibus = (List)entityManager.createNamedQuery(“Onibus.findEndereco”).getResultList();
for(int i = 0; i < onibus.size(); i++ ){
listOnibus.add(onibus.get(i).getNomeOnibus()+"#"+onibus.get(i).getNumeroOnibus());
}
return listOnibus;
}

}[/code]

Onibus.java(classe entidade )

[code]@Entity
@Table(name = “onibus”)
@NamedQueries({@NamedQuery(name = “Onibus.findAll”, query = “SELECT o FROM Onibus o”), @NamedQuery(name = “Onibus.findByIdOnibus”, query = “SELECT o FROM Onibus o WHERE o.idOnibus = :idOnibus”), @NamedQuery(name = “Onibus.findByNomeOnibus”, query = “SELECT o FROM Onibus o WHERE o.nomeOnibus = :nomeOnibus”), @NamedQuery(name = “Onibus.findByNumeroOnibus”, query = “SELECT o FROM Onibus o WHERE o.numeroOnibus = :numeroOnibus”),
@NamedQuery(name = “Onibus.findEndereco”, query = “SELECT o FROM Onibus as o, Logradouro as l_origem, Logradouro as l_destino, OnibusHasLogradouro as ohl WHERE (l_origem.ruaLougradouro LIKE '%” +???+ “%’ AND l_destino.ruaLougradouro LIKE '%”+ ??? +)"%’ AND o.idOnibus = ohl.onibusIdOnibus AND l_destino.idLougradouro = ohl.logradouroIdLougradouro)")})
public class Onibus implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = “id_onibus”)
private Integer idOnibus;
@Basic(optional = false)
@Column(name = “nome_onibus”)
private String nomeOnibus;
@Basic(optional = false)
@Column(name = “numero_onibus”)
private int numeroOnibus;
@OneToMany(cascade = CascadeType.ALL, mappedBy = “onibusIdOnibus”)
private List onibusHasLogradouroList;
@JoinColumn(name = “cidade_id_cidade”, referencedColumnName = “id_cidade”)
@ManyToOne(optional = false)
private Cidade cidadeIdCidade;
@OneToMany(cascade = CascadeType.ALL, mappedBy = “onibusIdOnibus”)
private List onibusHasHorarioList;

public Onibus() {
}

public Onibus(Integer idOnibus) {
    this.idOnibus = idOnibus;
}

public Onibus(Integer idOnibus, String nomeOnibus, int numeroOnibus) {
    this.idOnibus = idOnibus;
    this.nomeOnibus = nomeOnibus;
    this.numeroOnibus = numeroOnibus;
}

…[/code]