我在將數據保留到表時遇到了以下問題。原因:java.sql.SQLException:列名在SET子句中多次指定
錯誤:
產生的原因:值java.sql.SQLException:列名 'SubFundId' 被指定比SET子句中的一次。在同一個SET子句中,列不能分配多個值。修改SET子句以確保列只更新一次。如果SET子句更新視圖的列,那麼列名'SubFundId'可能在視圖定義中出現兩次。
我對持久化數據的代碼段是:
@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;
}
}
測繪與SubFund表是如下:
@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.
你真的想同時擁有subFund和subFundId領域? –