0

我正在使用java和hibernate,我需要一次保存几个实体,其中有一个小的变化,只有当我保存hibernate时才会保存第一个并且deepois更新相同。请帮我!

4

1 回答 1

0

这是我的存储库中的方法!

 public void Salvar(Lancamento lancamento) throws SQLException {
            //insert repetitions if there is any
                    if (lancamento.isRepetir()) {
                        for (int i = 1; i <= lancamento.getNumRepeticao(); i++) {

                            this.Inserir(lancamento);

                            Calendar data = Calendar.getInstance();
                            data.setTime(lancamento.getData());
                            if (lancamento.getPeriodicidade().getValor() == 0) {
                                data.add(Calendar.DAY_OF_MONTH, 1);
                            }
                            if (lancamento.getPeriodicidade().getValor() == 1) {
                                data.add(Calendar.WEEK_OF_MONTH, 1);
                            }
                            if (lancamento.getPeriodicidade().getValor() == 2) {
                                data.add(Calendar.MONTH, 1);
                            }
                            if (lancamento.getPeriodicidade().getValor() == 3) {
                                data.add(Calendar.YEAR, 1);
                            }

                            lancamento.setData(data.getTime());
                        }

                    }
                    //if no repetitions
                    else{
                        this.Inserir(lancamento);
                    }
        }

        @Override
        @SuppressWarnings("unchecked")
        public void Inserir(Lancamento lancamento) throws SQLException {
            this.getHibernateTemplate().persist(lancamento);
        }

这是结果

 // I'm sending an entity repeat twice annually

Hibernate: 
    select
        nextval ('SEQ_LANCAMENTO')
Hibernate: 
    insert 
    into
        tb_lancamento
        (cl_lancamento, dt_lancamento, desc_lacamento, fp_lancamento, nr_lancamento, pe_lancamento, rp_lancamento, st_lancamento, vl_lancamento, cd_lancamento) 
    values
        (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate: 
    update  // Here he is giving an update
        tb_lancamento 
    set
        cl_lancamento=?,
        dt_lancamento=?,
        desc_lacamento=?,
        fp_lancamento=?,
        nr_lancamento=?,
        pe_lancamento=?,
        rp_lancamento=?,
        st_lancamento=?,
        vl_lancamento=? 
    where
        cd_lancamento=?
于 2013-10-10T18:05:02.780 回答