На самом деле у меня две базы данных, я извлекаю данные из одной базы данных. Я пытаюсь сохранить один и тот же объект (также дочернюю ссылку) в другом, но в базе данных он не сохраняется, хотя он не дает никаких исключений. Не могли бы вы дать мне какое-нибудь решение для того же.
одно наблюдение: он сохраняется с использованием приведенного ниже кода:
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);
}*/
эта таблица элементов не заполняется, я проверил при сохранении сущности, у сущности также есть данные члена. не могли бы вы помочь в этом же.
другая база данных, но моделирование одинаково для обеих баз данных, поэтому я использую одни и те же объекты, пожалуйста, найдите приведенный выше пример кода





Вопрос непонятный. Вы пытаетесь сохранить объект в той же БД или в другой? Кусок кода (минимальный воспроизводимый пример) было бы неплохо