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:br.com.ufmt.fata.dao.SujeitoDaoImp.java

@Override
public void save(Sujeito sujeito) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Transaction t = session.beginTransaction();
    session.saveOrUpdate(sujeito);
    t.commit();/*from  www  .  ja  v a  2 s  .  co m*/
    session.close();
}

From source file:br.com.ufmt.fata.dao.VerboDaoImp.java

@Override
public void save(Verbo verbo) {
    Session session = HibernateUtil.getSessionFactory().openSession();
    Transaction t = session.beginTransaction();
    session.saveOrUpdate(verbo);
    t.commit();/*from  www  .  ja va  2 s. co  m*/
    session.close();
}

From source file:br.com.wservice.dao.LabRequisicaoDao.java

/**
 *
 * @param solicitacao// ww w .  ja  v a 2s . com
 * @param pac
 * @param session
 * @return LabRequisicao from database or build a new one base on
 * XmlSolicitacao
 */
public LabRequisicao buildRequisicao(XmlSolicitacao solicitacao, LabPaciente pac, LabSolicitante solicitante,
        LabUnidade unidade, String oriStCodigo, LabSistema sistema, Session session, XmlRetorno xRetorno)
        throws LabRequisicaoException, RuntimeException, HibernateException {
    //        System.out.println("pac.toString 01 : "+pac);
    LabRequisicao labRequisicao = null;
    LabResponsavelVersao labResponsavelVersao = buscaLabResponsavelversao(solicitacao);
    LabOrigem origem = (LabOrigem) OracleHelper.getObject(LabOrigem.class,
            new LabOrigemPK(oriStCodigo, solicitacao.getUniStCodigo()), solicitacao.getStrDbName());
    //        Date righNow = new GregorianCalendar().getTime();

    if (solicitacao.getCodRequisicao() != null && solicitacao.getCodRequisicao().trim().length() > 0) {
        Long cod = new Long(solicitacao.getCodRequisicao().trim());
        labRequisicao = (LabRequisicao) OracleHelper.getObjectByKey(LabRequisicao.class, "reqInCodigo", cod,
                solicitacao.getStrDbName());
        //            if(labRequisicao == null){
        //                System.out.println("LabRequisicao inexistente   solicitacao.getCodRequisicao() = "+solicitacao.getCodRequisicao());
        //                throw new LabRequisicaoException("LabRequisicao inexistente   solicitacao.getCodRequisicao() = "+solicitacao.getCodRequisicao());
        //            }
        origem = this.defineOrigem(sistema, labRequisicao.getOriStCodigo(), solicitacao);
        //            System.out.println("req : " + req.toString());
    } else if (solicitacao.getCodPedido() != null && solicitacao.getCodPedido().trim().length() > 0) {
        labRequisicao = (LabRequisicao) OracleHelper.getObjectByKey(LabRequisicao.class, "reqStCodigoAlt",
                "uniStCodigo", solicitacao.getCodPedido().trim(), solicitacao.getUniStCodigo(),
                solicitacao.getStrDbName());
        //            if(labRequisicao == null){
        //                System.out.println("LabRequisicao inexistente   reqStCodigoAlt = "+solicitacao.getCodPedido().trim()+"    uniStCodigo = "+solicitacao.getUniStCodigo());
        //                throw new LabRequisicaoException("LabRequisicao inexistente   reqStCodigoAlt = "+solicitacao.getCodPedido().trim()+"    uniStCodigo = "+solicitacao.getUniStCodigo());
        //            }
        origem = this.defineOrigem(sistema, oriStCodigo, solicitacao);
    }
    if (labRequisicao == null) {
        labRequisicao = this.buildLabRequisicao(solicitacao, pac, null);

        //new LabRequisicao(solicitacao, pac, null);
        //            System.out.println("req = new LabRequisicao(solicitacao, pac)...............................");
    } else {//TODO check if labRequ has already a pac in and than the legStCodigo must be set to 999 to avoid update
        if (labRequisicao.getReqChPrecadastro() != null && labRequisicao.getReqChPrecadastro().equals('S')) {
            labRequisicao = this.buildLabRequisicao(solicitacao, pac, labRequisicao);
            //new LabRequisicao(solicitacao, pac, req);
            labRequisicao.setSalvoNoDb(true);
            //                System.out.println("req2 : " + req.toString());
        } else {
            labRequisicao.setSalvoNoDb(true);
        }

        labRequisicao.setListLabDetalheRequisicao(
                (List<LabDetalheRequisicao>) OracleHelper.getListOfObjectByKey(LabDetalheRequisicao.class,
                        "reqStCodigo", labRequisicao.getReqStCodigo(), solicitacao.getStrDbName()));

        //            if (!req.getListLabDetalheRequisicao().isEmpty()){
        //                for (LabDetalheRequisicao det : req.getListLabDetalheRequisicao()) {
        //                    MapsAuxiliares.grabLabDetalheRequisicao(det, s);
        //                }
        //            }
        //            System.out.println("req.getPacInCodigo(): "+req.getPacInCodigo()+ "          pac.getPacInCodigo()"+pac.getPacInCodigo());
        if (!labRequisicao.getUniStCodigo().equalsIgnoreCase(solicitacao.getUniStCodigo())) {
            //                System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"+req.getReqStCodigo()+">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
            labRequisicao.setReqProducao(true);
            xRetorno.getLISTA_FATALS().add("Requisicao nao pretence a esta unidade.");
            //                throw new RuntimeException("Requisicao nao pretence a esta unidade.");
        }

        if (labRequisicao.getPacInCodigo() != null
                && !labRequisicao.getPacInCodigo().equals(pac.getPacInCodigo())) {
            labRequisicao.setReqProducao(true);
            xRetorno.getLISTA_FATALS().add("Numero de requisicao utilizada por outro paciente.");
        }

        //            System.out.println("req.paciente :" + req.getPacInCodigo());
        //            System.out.println("pac.paciente :" + pac.getPacInCodigo());
        //            System.out.println("req legstcodigo : " + req.getLegStCodigo());
        //            System.out.println("req.getPacInCodigo() : "+req.getPacInCodigo());
        //            System.out.println("pac.getPacInCodigo() : "+pac.getPacInCodigo());
        //            System.out.println("req.getLegStCodigo() : "+req.getLegStCodigo());
        if (labRequisicao.getPacInCodigo().equals(pac.getPacInCodigo())
                && (!labRequisicao.getLegStCodigo().equalsIgnoreCase("001")
                        && !labRequisicao.getLegStCodigo().equalsIgnoreCase("002"))) {

            if (unidade.getUniChRecebeDeveMaterial() != null
                    && unidade.getUniChRecebeDeveMaterial().toString().equalsIgnoreCase("S")) {
                labRequisicao.setReqProducao(false);
                //req.setSalvoNoDb(false);
                //Alterao do legStCodigo para 999, para que as alteraes na requisio no seja efetuada. Este caso  a entrada do material
                //que o paciente trouxe depois do cadastro da requisio. Por tanto no pode ser alterada.
                labRequisicao.setLegStCodigo("999");
                xRetorno.getLISTA_WARNINGS()
                        .add("Requisicao em producao,alterada para tratamento de material.");
            } else if (labRequisicao.getLegStCodigo().equals("013")) {
                labRequisicao.setReqProducao(true);
                xRetorno.getLISTA_WARNINGS().add("Esta requisicao encontra-se cancelada no TMLAB ......");
            } else {
                labRequisicao.setReqProducao(true);
                xRetorno.getLISTA_FATALS().add("Requisicao em producao, nao pode ser alterada.");
            }
        } else if (labRequisicao.getLegStCodigo().equals("013")) {
            labRequisicao.setReqProducao(true);
            xRetorno.getLISTA_WARNINGS().add("Esta requisicao encontra-se cancelada no TMLAB ......");
        }
        if (labRequisicao.getPacInCodigo().equals(pac.getPacInCodigo())
                && (labRequisicao.getLegStCodigoFat().equalsIgnoreCase("CON")
                        && labRequisicao.getLegStCodigoFat().equalsIgnoreCase("FAT"))) {
            labRequisicao.setReqProducao(true);
            xRetorno.getLISTA_FATALS()
                    .add("Requisicao nao pode ser alterada, ja conferida pelo faturamento ou faturada");
        }
    }
    if (solicitante != null) {
        labRequisicao.setProStCodigo(solicitante.getProStCodigo().getProStCodigo());
        labRequisicao.setSolStCodigo(solicitante.getSolStCodigo());
        labRequisicao.setSolStEstado(solicitante.getSolStEstado());
    }

    labRequisicao.setReqChRN(solicitacao.getRN());
    labRequisicao.setReqStLocalColeta(solicitacao.getLocalColeta());

    //        if (solicitacao.getDataCadastro() != null) {
    //            req.setReqDtCadastro(righNow);   
    //            req.setReqHrCadastro(righNow);   
    ////            req.setReqDtFatura(solicitacao.getDataCadastro());       
    //            req.setReqChAgendado('S');
    //        } else {
    //            req.setReqDtCadastro(righNow);   
    //            req.setReqHrCadastro(righNow);
    ////            req.setReqDtFatura(OracleHelper.getDateFromDB();
    //            req.setReqChAgendado('N');
    //        }
    labRequisicao.setReqStMatricula(solicitacao.getMatricula());
    labRequisicao.setReqChEnviado('1');
    labRequisicao.setUniStCodigo(solicitacao.getUniStCodigo());

    if (origem != null) {
        labRequisicao.setOriStCodigo(origem.getOriStCodigo());
    } else {
        labRequisicao.setOriStCodigo(oriStCodigo);
    }
    if (solicitacao.getGestante() != null) {
        labRequisicao.setReqChGestante(solicitacao.getGestante());
    } else {
        labRequisicao.setReqChGestante('N');
    }

    labRequisicao.setReqChOcorrencia('N');

    this.buscaESetConvenioERegra(labRequisicao, sistema, origem, solicitacao);

    labRequisicao.setMreInCodigo(labResponsavelVersao.getMreInCodigo());
    labRequisicao.setReqChUrgente(this.buscaExamesUrgentes(solicitacao));

    if (labRequisicao.isSalvoNoDb()) {
        this.switchCaseLegStCodigo(labRequisicao, session);
    } else {
        session.saveOrUpdate(labRequisicao);
    }
    return labRequisicao;
}

From source file:br.edu.iffarroupilha.bolicho.controle.AContorle.java

public void gravar(Object entity) {

    Session session = HibernateDao.getSession();
    session.getTransaction().begin();//from  w  w  w  .j a  v  a 2 s . co  m
    session.saveOrUpdate(entity);
    session.getTransaction().commit();

}

From source file:br.edu.unipampa.gerenciadorconcurso.dao.DAO.java

/**
 * Salva um objeto mapeado no banco de dados
 *
 * @param obj/*  w  w w.ja v a2  s .co m*/
 * @return boolean se salvou ou no
 */
public static boolean salvar(Object obj) {
    Session session = HibernateUtil.openSession();
    Transaction tx = null;
    boolean salvou = false;
    try {
        tx = session.getTransaction();
        tx.begin();
        session.saveOrUpdate(obj);
        salvou = true;
        tx.commit();
    } catch (HibernateException e) {
        e.printStackTrace();
        session.getTransaction().rollback();
        salvou = false;
    }
    return salvou;
}

From source file:br.ifmt.dai.curso.GerenciadorEventos.java

public static void salvarEvento(String evento, String data) {
    try {/*from  w ww  .j av a2  s  .c  o  m*/
        SessionFactory sf = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
        Session s = sf.openSession();
        Transaction tx = s.beginTransaction();
        Eventos e = new Eventos();
        e.setDataEvento(data);
        e.setEvento(evento);
        s.saveOrUpdate(e);
        tx.commit();
        s.close();
        System.out.println("Evento incluido");
    } catch (Exception e) {
    }
}

From source file:br.mdarte.exemplo.academico.cd.CursoDAO.java

public List<AbstractEntity> insertOrUpdate(AbstractEntity obj) throws DAOException {

    List<AbstractEntity> lista = new ArrayList<AbstractEntity>();

    try {/* w  w  w .  j a v  a 2s .  co m*/
        Session session = currentSession();
        session.setCacheMode(CacheMode.GET);
        session.saveOrUpdate(obj);
        session.flush();
        lista.add(obj);
        return lista;
    } catch (HibernateException e) {
        throw new DAOException(e);
    }
}

From source file:br.msf.commons.persistence.dao.AbstractEntityDaoBean.java

License:Open Source License

@Override
public ID saveOrUpdate(final T entity) {
    ArgumentUtils.rejectIfNull(entity);/*from  w  w  w.ja  v a 2s  .c  om*/
    final Session session = getCurrentSession();
    session.saveOrUpdate(entity);
    return entity.getId();
}

From source file:br.msf.commons.persistence.dao.AbstractEntityDaoBean.java

License:Open Source License

@Override
public void saveOrUpdateAll(final Collection<T> entities) {
    if (!CollectionUtils.isEmptyOrNull(entities)) {
        final Session session = getCurrentSession();
        int i = 0;
        for (T entity : entities) {
            session.saveOrUpdate(entity);
            // flush a batch of inserts and release memory, every 100 rows:
            if (i % 100 == 0) {
                flush();/*ww  w .ja v  a  2  s . c o m*/
            }
        }
    }
}

From source file:br.pro.x87.dao.MaquinaDao.java

public void updateMaquina(Maquina maquina) {
    Session session = null;
    try {/*from w ww .  j a va 2  s . c o  m*/
        session = HibernateConnector.getInstance().getSession();
        session.saveOrUpdate(maquina);
        session.flush();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        session.close();
    }
}