angegeben. Ich stehe vor einem Problem, während Daten in einer Tabelle persistent sind.verursacht durch: java.sql.SQLException: Der Spaltenname wird mehr als einmal in der SET-Klausel
Fehler:
Verursacht durch: java.sql.SQLException: Der Spaltenname 'SubFundId' angegeben wird mehr als einmal in der SET-Klausel. Einer Spalte kann nicht mehr als ein Wert in derselben SET-Klausel zugewiesen werden. Ändern Sie die SET-Klausel, um sicherzustellen, dass eine Spalte nur einmal aktualisiert wird. Wenn die SET-Klausel Spalten einer Sicht aktualisiert, wird der Spaltenname 'SubFundId' möglicherweise zweimal in der Sichtdefinition angezeigt.
Code Mein Stück Daten für persistierende ist:
@Transactional
public FundSalesCreditCalcMethodDTO addNewSubFundCalculationMethod(FundSalesCreditCalcMethodDTO dto) {
try{
@SuppressWarnings("unchecked")
List<Object> id = entityManager.createNamedQuery("findSelectedSubFund").setParameter("subFundId",dto.getSubFundId()).getResultList();
System.out.println("*********in addNewSubFundCalculationMethod " +id.toString());
if (id.isEmpty()){
System.out.println("*********in addNewSubFundCalculationMethod: List is empty");
FundSalesCreditCalcMethod fundSalesCreditCalcMethod = new FundSalesCreditCalcMethod();
fundSalesCreditCalcMethod.setSubFundId(dto.getSubFundId());
fundSalesCreditCalcMethod.setEffectiveFromDate(dto.getEffectiveFromDate());
fundSalesCreditCalcMethod.setEffectiveToDate(dto.getEffectiveToDate());
fundSalesCreditCalcMethod.setCreatedBy(dto.getCreatedBy());
fundSalesCreditCalcMethod.setCreatedOn(dto.getCreatedOn());
fundSalesCreditCalcMethod.setLastUpdatedBy(dto.getLastUpdatedBy());
fundSalesCreditCalcMethod.setLastUpdatedOn(dto.getLastUpdatedOn());
fundSalesCreditCalcMethod.setSalesCreditCalcMethodId(1);
fundSalesCreditCalcMethod.setPaymentFrequencyId(1);
Date date = new Date();
fundSalesCreditCalcMethod.setFirstPaymentDate(date);
this.entityManager.persist(fundSalesCreditCalcMethod);
}
}
catch(NoResultException exception){
}
this.entityManager.flush();
return dto;
}
}
Kartieren mit Teilfonds Tabelle ist wie folgt:
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="SubFundId", referencedColumnName = "SubFundId")
private SubFund subFund;
private long salesCreditCalcMethodId;
private long subFundId;
private Date effectiveFromDate;
private Date effectiveToDate;
private long paymentFrequencyId;
private Date firstPaymentDate;
private Date createdOn;
private Date lastUpdatedOn;
private String createdBy;
private String lastUpdatedBy;
Can anyone please help what is the issue.I have been struggling with it from morning.
Haben Sie beide wirklich haben wollen SUBFONDS und subFundId Felder ? –