@SuppressWarnings("unchecked")
  public List<Detallepedido> getAllNotEqBy(Detallepedido detallePedido) throws DAOException {
    LOG.debug("DetallePedidoDao getAllNotEqBy");

    Session session = HibernateUtil.getSessionFactory().openSession();
    Transaction tx = null;
    List<Detallepedido> listDetallePedido = null;
    try {
      tx = session.beginTransaction();
      StringBuilder query = new StringBuilder();
      query.append("from Detallepedido where 1 = 1 ");
      query.append(
          detallePedido.getProducto().getCodigoproducto() instanceof String
                  && !detallePedido.getProducto().getCodigoproducto().isEmpty()
              ? "and CODIGO = '" + detallePedido.getProducto().getCodigoproducto() + "' "
              : "");
      query.append(
          detallePedido.getPedido().getNumeropedido() != 0
              ? "and NOMBRE = '" + detallePedido.getPedido().getNumeropedido() + "' "
              : "");

      listDetallePedido = (List<Detallepedido>) session.createQuery(query.toString()).list();
      tx.commit();
    } catch (Exception e) {
      throw new DAOException(e.getMessage(), e);
    } finally {
      session.close();
    }
    return listDetallePedido;
  }
  public boolean delete(String codigo) throws DAOException {
    LOG.debug("DetallePedidoDao delete");

    boolean resp = false;
    Session session = HibernateUtil.getSessionFactory().openSession();
    Transaction tx = null;
    try {
      tx = session.beginTransaction();
      Detallepedido detallePedido = (Detallepedido) session.get(Detallepedido.class, codigo);
      session.delete(detallePedido);
      tx.commit();
      resp = true;
    } catch (Exception e) {
      LOG.error("Fatal " + e.getMessage());
      if (tx != null && tx.isActive()) {
        try {
          tx.rollback();
        } catch (HibernateException e1) {
          LOG.error("Fatal al tratar de hacer rollback " + e.getMessage());
          throw new DAOException("Error al grabar Campo y en rollback", e);
        }
      }
      throw new DAOException("Error al Nivel persistencia", e);
    } finally {
      session.close();
    }

    return resp;
  }
  @SuppressWarnings("unchecked")
  public List<Detallepedido> getAll() throws DAOException {
    LOG.debug("DetallePedidoDao getAll");

    Session session = HibernateUtil.getSessionFactory().openSession();
    Transaction tx = null;
    List<Detallepedido> listDetallePedido = null;
    try {
      tx = session.beginTransaction();
      listDetallePedido = (List<Detallepedido>) session.createQuery("from Detallepedido ").list();
      tx.commit();
    } catch (Exception e) {
      throw new DAOException(e.getMessage(), e);
    } finally {
      session.close();
    }
    return listDetallePedido;
  }
  public Detallepedido get(String codigo) throws DAOException {
    LOG.debug("DetallePedidoDao get");

    Session session = HibernateUtil.getSessionFactory().openSession();
    Transaction tx = null;
    Detallepedido detallePedido = null;
    try {
      tx = session.beginTransaction();
      detallePedido =
          (Detallepedido)
              session
                  .createQuery("from Detallepedido where codigo = ?")
                  .setString(0, codigo)
                  .uniqueResult();
      tx.commit();
    } catch (Exception e) {
      throw new DAOException(e.getMessage(), e);
    } finally {
      session.close();
    }
    return detallePedido;
  }