1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

JSF + Hibernate + MySQL - Dúvida com createquery ou SQL nativo no DAO

Olá pessoal,

Faz um bom tempo que eu não posto aqui. Já procurei bastante e não encontrei nada específico. Tenho a query SQL "SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(S.perfdata,';',1),'=',-1) AS SInsuficiente FROM services AS S, hosts AS H WHERE S.host_id=H.host_id AND H.name='ECCI_CAR_PRE_1' AND S.description='APP_Cartão Saldo Insuficiente_C';", mas não sei como colocá-la dentre de um método.

Meu DAO está da seguinte forma:

public class ServicesDao implements InterfaceServices {

    @Override
    public Services getServices(Long services_id) {
        Session ss = HibernateUtil.getSessionFactory().getCurrentSession();
        return (Services) ss.load(Services.class, services_id);
    }

    @Override
    public List<Services> list() {
        Session ss = HibernateUtil.getSessionFactory().getCurrentSession();
        Transaction tx = ss.beginTransaction();
        try {
            List lista = ss.createQuery("from services").list();
            tx.commit();
            return lista;
        } catch (Exception e) {
            if (tx != null) {
                tx.rollback();
            }
            throw e;
        }
    }
}

Minha Controller está assim:

@ManagedBean
@SessionScoped
public class ServicesController {

    private Services services;
    private DataModel listaServices;

    public Services getServices() {
        if (this.services == null) {
            this.services = new Services();
        }
        return services;
    }

    public void setServices(Services services) {
        this.services = services; 
    }

    public DataModel getListaServices() {
        List<Services> lista = new ServicesDao().list();
        listaServices = new ListDataModel(lista);
        return listaServices;
    }
}

Se puderem ajudar eu agradeço!

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags jsf java hibernate mysql dao ou faça a sua própria pergunta.