Example usage for org.hibernate Session saveOrUpdate

List of usage examples for org.hibernate Session saveOrUpdate

Introduction

In this page you can find the example usage for org.hibernate Session saveOrUpdate.

Prototype

void saveOrUpdate(Object object);

Source Link

Document

Either #save(Object) or #update(Object) the given instance, depending upon resolution of the unsaved-value checks (see the manual for discussion of unsaved-value checking).

Usage

From source file:com.bakeryfactory.cadastros.servidor.ProdutoDetalheAction.java

License:Open Source License

private Response update(Object inputPar, UserSessionParameters userSessionPars, HttpServletRequest request,
        HttpServletResponse response, HttpSession userSession, ServletContext context) {
    Session session = null;
    try {//from w ww  .  j  a v a 2s . c o m
        Object[] pars = (Object[]) inputPar;
        ProdutoVO produto = (ProdutoVO) pars[2];
        List<FichaTecnicaVO> fichaTecnica = (Vector) pars[3];

        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();

        Criteria criteria = session.createCriteria(ProdutoVO.class);
        criteria.add(Restrictions.eq("gtin", produto.getGtin()));
        criteria.add(Restrictions.ne("id", produto.getId()));

        if (criteria.uniqueResult() != null) {
            throw new Exception("J existe um GTIN vinculado por outro produto.");
        }

        checaProdutoAlmoxarifado(produto);
        checaProdutoMarca(produto);
        checaIcms(produto);
        checaGrupoTributario(produto);

        if (produto.getCaminhoFotoProduto() != null) {
            String caminhoArquivo = context.getRealPath("/imagens") + System.getProperty("file.separator")
                    + "produtos" + System.getProperty("file.separator") + produto.getGtin() + ".jpg";
            produto.setCaminhoFotoProduto(caminhoArquivo);
            Biblioteca.salvaArquivo(caminhoArquivo, produto.getImagem());
        }

        produto.setDataAlteracao(new Date());
        session.update(produto);

        for (FichaTecnicaVO f : fichaTecnica) {
            f.setProduto(produto);
            session.saveOrUpdate(f);
        }

        session.getTransaction().commit();

        return new VOResponse(produto);

    } catch (Exception ex) {
        if (session != null) {
            session.getTransaction().rollback();
        }
        ex.printStackTrace();
        return new ErrorResponse(ex.getMessage());
    } finally {
        try {
            if (session != null) {
                session.close();
            }
        } catch (Exception ex1) {
            ex1.printStackTrace();
        }
    }
}

From source file:com.bakeryfactory.pcp.servidor.PcpOpCabecalhoDetalheAction.java

License:Open Source License

public void saveOrUpdatePcpInstrucao(List<PcpInstrucaoOpVO> pcpInstrucao, PcpOpCabecalhoVO pcpOpCabecalho,
        Session session) throws HibernateException {
    for (PcpInstrucaoOpVO d : pcpInstrucao) {
        d.setPcpOpCabecalho(pcpOpCabecalho);
        session.saveOrUpdate(d);
    }/*w  ww  .  ja  v a  2s . c  om*/
}

From source file:com.bakeryfactory.pcp.servidor.PcpOpCabecalhoDetalheAction.java

License:Open Source License

public void saveOrUpdatePcpDetalhe(List<PcpOpDetalheVO> detalhe, PcpOpCabecalhoVO pcpOpCabecalho,
        Session session) throws HibernateException {
    for (PcpOpDetalheVO d : detalhe) {
        d.setPcpOpCabecalho(pcpOpCabecalho);
        session.saveOrUpdate(d);
    }/*from  w w w .  j  a v a2  s .  c o m*/
}

From source file:com.bakeryfactory.vendas.servidor.VendaCondicoesPagamentoDetalheAction.java

License:Open Source License

public void queryExcluir(List<VendaCondicoesParcelaVO> parcelas,
        VendaCondicoesPagamentoVO vendaCondicoesPagamento, Session session) throws HibernateException {
    String sqlExcluir = "delete from VENDA_CONDICOES_PARCELAS where ID not in (0";
    for (int i = 0; i < parcelas.size(); i++) {
        parcelas.get(i).setVendaCondicoesPagamento(vendaCondicoesPagamento);
        session.saveOrUpdate(parcelas.get(i));
        sqlExcluir += "," + parcelas.get(i).getId();
    }//  w w  w . j a  va  2s.  c  o m
    sqlExcluir += ") and ID_VENDA_CONDICOES_PAGAMENTO = :id";
    Query query = session.createSQLQuery(sqlExcluir);
    query.setInteger("id", vendaCondicoesPagamento.getId());
    query.executeUpdate();
}

From source file:com.bakeryfactory.vendas.servidor.VendaDetalheAction.java

License:Open Source License

private Response update(Object inputPar, UserSessionParameters userSessionPars, HttpServletRequest request,
        HttpServletResponse response, HttpSession userSession, ServletContext context) {
    Session session = null;
    try {/*  w ww  . j  a v a  2s  . c om*/
        Object[] pars = (Object[]) inputPar;
        VendaCabecalhoVO vendaCabecalho = (VendaCabecalhoVO) pars[2];
        List<VendaDetalheVO> orcamentoDetalhe = (Vector) pars[3];

        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();

        if (vendaCabecalho.getVendaOrcamentoCabecalho().getId() == null) {
            vendaCabecalho.setVendaOrcamentoCabecalho(null);
        }

        if (vendaCabecalho.getTransportadora().getId() == null) {
            vendaCabecalho.setTransportadora(null);
        }

        session.update(vendaCabecalho);

        String sqlExcluir = "delete from VENDA_DETALHE where ID not in (0";
        for (int i = 0; i < orcamentoDetalhe.size(); i++) {
            orcamentoDetalhe.get(i).setVendaCabecalho(vendaCabecalho);
            session.saveOrUpdate(orcamentoDetalhe.get(i));
            sqlExcluir += "," + orcamentoDetalhe.get(i).getId();
        }
        sqlExcluir += ") and ID_VENDA_CABECALHO = :id";
        Query query = session.createSQLQuery(sqlExcluir);
        query.setInteger("id", vendaCabecalho.getId());
        query.executeUpdate();

        Criteria criteria = session.createCriteria(VendaComissaoVO.class);
        criteria.add(Restrictions.eq("vendaCabecalho", vendaCabecalho));
        VendaComissaoVO comissao = (VendaComissaoVO) criteria.uniqueResult();

        comissao.setVendedor(vendaCabecalho.getVendedor());
        if (vendaCabecalho.getValorDesconto() != null) {
            comissao.setValorVenda(
                    vendaCabecalho.getValorSubtotal().subtract(vendaCabecalho.getValorDesconto()));
        } else {
            comissao.setValorVenda(vendaCabecalho.getValorSubtotal());
        }
        comissao.setTipoContabil("C");
        comissao.setValorComissao(vendaCabecalho.getValorComissao());
        comissao.setSituacao("A");
        comissao.setDataLancamento(new Date());

        session.update(comissao);

        session.getTransaction().commit();

        return new VOResponse(vendaCabecalho);
    } catch (Exception ex) {
        ex.printStackTrace();
        if (session != null) {
            session.getTransaction().rollback();
        }
        return new ErrorResponse(ex.getMessage());
    } finally {
        try {
            if (session != null) {
                session.close();
            }
        } catch (Exception ex1) {
            ex1.printStackTrace();
        }
    }
}

From source file:com.bakeryfactory.vendas.servidor.VendaOrcamentoDetalheAction.java

License:Open Source License

private Response update(Object inputPar, UserSessionParameters userSessionPars, HttpServletRequest request,
        HttpServletResponse response, HttpSession userSession, ServletContext context) {
    Session session = null;
    try {/*from  www . ja v  a 2  s  .c  o  m*/
        Object[] pars = (Object[]) inputPar;
        VendaOrcamentoCabecalhoVO vendaOrcamentoCabecalho = (VendaOrcamentoCabecalhoVO) pars[2];
        List<VendaOrcamentoDetalheVO> orcamentoDetalhe = (Vector) pars[3];

        session = HibernateUtil.getSessionFactory().openSession();
        session.beginTransaction();

        if (vendaOrcamentoCabecalho.getTransportadora().getId() == null) {
            vendaOrcamentoCabecalho.setTransportadora(null);
        }

        session.update(vendaOrcamentoCabecalho);

        String sqlExcluir = "delete from VENDA_ORCAMENTO_DETALHE where ID not in (0";
        for (int i = 0; i < orcamentoDetalhe.size(); i++) {
            orcamentoDetalhe.get(i).setVendaOrcamentoCabecalho(vendaOrcamentoCabecalho);
            session.saveOrUpdate(orcamentoDetalhe.get(i));
            sqlExcluir += "," + orcamentoDetalhe.get(i).getId();
        }
        sqlExcluir += ") and ID_VENDA_ORCAMENTO_CABECALHO = :id";
        Query query = session.createSQLQuery(sqlExcluir);
        query.setInteger("id", vendaOrcamentoCabecalho.getId());
        query.executeUpdate();

        session.getTransaction().commit();

        return new VOResponse(vendaOrcamentoCabecalho);
    } catch (Exception ex) {
        ex.printStackTrace();
        if (session != null) {
            session.getTransaction().rollback();
        }
        return new ErrorResponse(ex.getMessage());
    } finally {
        try {
            if (session != null) {
                session.close();
            }
        } catch (Exception ex1) {
            ex1.printStackTrace();
        }
    }
}

From source file:com.baomidou.hibernateplus.dao.impl.DaoImpl.java

License:Open Source License

@Override
public boolean saveOrUpdateBatch(List<P> list, int size) {
    Assert.notEmpty(list);//from w  w w. j  a  v  a2 s  . c om
    try {
        Session session = HibernateUtils.getSession(masterSession(), isCurrent());
        for (int i = 0; i < list.size(); i++) {
            session.saveOrUpdate(list.get(i));
            if (i % size == 0) {
                session.flush();
                session.clear();
            }
        }
    } catch (Exception e) {
        logger.warn("Warn: Unexpected exception.  Cause:" + e);
        return false;
    }
    return true;

}

From source file:com.beingjavaguys.polymorphism.HibernateInterface.java

License:Open Source License

public static void saveEntities(final Object entity) {
    final Session session = SESSION_FACTORY.openSession();
    session.beginTransaction();/*from   w w w  .ja  va2s . c o  m*/
    try {
        session.saveOrUpdate(entity);
        session.getTransaction().commit();
    } catch (Exception e) {
        e.printStackTrace();
        session.getTransaction().rollback();
    } finally {
        session.close();
    }
}

From source file:com.booleanworks.kryptopterus.application.MainHibernateUtil.java

License:Apache License

public Object saveOrUpdate(Object object, Session session) {
    System.out.println("com.booleanworks.kryptopterus.application.MainHibernateUtil.saveOrUpdate()");
    System.out.println("session  => " + session.hashCode());

    Object result = null;//from  ww w. j a v  a  2 s  .  c  o  m

    if (session == null || !session.isConnected() || !session.isOpen()) {
        session = this.getResidentSession();
    }

    if (session.isJoinedToTransaction()) {

        session.saveOrUpdate(object);
        if (!(session.getTransaction().getStatus() == TransactionStatus.MARKED_ROLLBACK)) {
            session.flush();
        }
        result = session.get(object.getClass(), session.getIdentifier(object));

    } else {
        Transaction transaction = this.beginTransaction(session, false);

        session.saveOrUpdate(object);
        if (!transaction.getRollbackOnly() && session.getFlushMode() != FlushModeType.AUTO) {
            session.flush();
        }
        result = session.get(object.getClass(), session.getIdentifier(object));

        this.commitTransaction(session, transaction);
    }

    return result;
}

From source file:com.carlos.projects.billing.dao.hibernate.HibernateDAO.java

License:Open Source License

public void saveOrUpdate(T entity) {
    Session session = getSession();
    session.saveOrUpdate(entity);
}