Hibernate: объект, данные которого еще не сохранены, не дает никаких исключений - PullRequest
0 голосов
/ 08 июня 2018

На самом деле у меня есть две базы данных, я выбираю данные из одной базы данных. Я пытаюсь сохранить один и тот же объект (также дочернюю ссылку) в другой файл, но в базе данных он не сохраняется, даже если он не дает никаких исключений.Не могли бы вы дать мне какое-либо решение для того же.

одно наблюдение: это сохранение с использованием приведенного ниже кода:

try {
                session=getSession();
                tx = session.beginTransaction();
                List<Member> memberList = null;
                List<Proposal> proposalList = null;
                 List<ReductionScheduleMatrix> ReductionScheduleMatrixList = null;
                 for(GroupClass groupClass : groupClasses){
                     GroupClass = new GroupClass();
                     GroupClass.setId(groupClass.getId());
                     GroupClass.setCensus_pk(groupClass.getCensus_pk());
                     GroupClass.setGroupClassNumber(groupClass.getGroupClassNumber());
                     proposalList = new ArrayList<SCProposal>();
                     for(Proposal proposal : groupClass.getProposals()){
                         Proposal sCProposal = new Proposal();
                         Proposal.setId(proposal.getId());
                         StandardLifeBenefit sCStandardLifeBenefit = new StandardLifeBenefit();
                             if(proposal.getStandardLifeBenefit()!=null){
                                 sCStandardLifeBenefit.setId(proposal.getStandardLifeBenefit().getId());
                                 sCStandardLifeBenefit.setMaximumBenefit(proposal.getStandardLifeBenefit().getMaximumBenefit());
                                 sCStandardLifeBenefit.setMinimumBenefit(proposal.getStandardLifeBenefit().getMinimumBenefit());
                                 sCStandardLifeBenefit.setFlatBenefitAmount(proposal.getStandardLifeBenefit().getFlatBenefitAmount());
                                 sCStandardLifeBenefit.setSalaryMultiplier(proposal.getStandardLifeBenefit().getSalaryMultiplier());
                                 sCStandardLifeBenefit.setEligibilityhours(proposal.getStandardLifeBenefit().getEligibilityhours());
                                 sCStandardLifeBenefit.setAgeScheduleOPtion(proposal.getStandardLifeBenefit().getAgeScheduleOPtion());
                                 sCStandardLifeBenefit.setGuaranteedIssue(proposal.getStandardLifeBenefit().getGuaranteedIssue());

                                 if(proposal.getStandardLifeBenefit().getReductionScheduleMatrix()!=null){
                                 ReductionScheduleMatrixList = new ArrayList<SCReductionScheduleMatrix>();
                                 for(ReductionScheduleMatrix redSchMatric : proposal.getStandardLifeBenefit().getReductionScheduleMatrix()){
                                     ReductionScheduleMatrix sCReductionScheduleMatrix = new ReductionScheduleMatrix();
                                     sCReductionScheduleMatrix.setId(redSchMatric.getId());
                                     sCReductionScheduleMatrix.setAge(redSchMatric.getAge());
                                     sCReductionScheduleMatrix.setReductionPercentage(redSchMatric.getReductionPercentage());
                                     ReductionScheduleMatrixList.add(sCReductionScheduleMatrix);

                                 }
                                 sCStandardLifeBenefit.setsCReductionScheduleMatrix(ReductionScheduleMatrixList);
                             }                           
                                 sCProposal.setsCStandardLifeBenefit(sCStandardLifeBenefit);    
                                 }

                         SCADDBenefit scaddBenefit = new SCADDBenefit();
                            if(proposal.getAddBenefit()!=null){
                                scaddBenefit.setId(proposal.getAddBenefit().getId());
                                scaddBenefit.setFlatBenefitAmount(proposal.getAddBenefit().getFlatBenefitAmount());
                                sCProposal.setsCaddBenefit(scaddBenefit);
                            }
                            proposalList.add(sCProposal);
                     }
                    memberList = new ArrayList<SCMember>();
                     for(Member member : groupClass.getMembers()){
                         Member sCMember = new Member();
                         sCMember.setId(member.getId());
                         sCMember.setLifeNumber(member.getLifeNumber());
                         memberList.add(sCMember);
                     }
                     sCGroupClass.setsCMembers(memberList);
                     sCGroupClass.setsCProposals(proposalList);
                     session.saveOrUpdate(sCGroupClass);
                }
                    tx.commit();        
            }

из приведенного выше кода, если я изменяю ниже код

 memberList = groupClass.getMembers();
                    /* for(Member member : groupClass.getMembers()){
                         Member sCMember = new Member();
                         sCMember.setId(member.getId());
                         sCMember.setLifeNumber(member.getLifeNumber());
                         memberList.add(sCMember);
                     }*/

эти таблицы участников не заполнены, я подтвердил при сохранении сущности, сущность также имеет данные об участнике. Можете ли вы помочь в этом же.

...