【发布时间】:2015-10-13 11:24:03
【问题描述】:
大家好,我在尝试删除实体时遇到错误
错误:
ERROR [io.undertow.request](默认任务 2)UT005023:异常 处理对 /updateUseranswers/11 的请求: org.lightadmin.core.view.exceptions.BadRequestException: org.springframework.web.util.NestedServletException:请求 处理失败;嵌套异常是 java.lang.IllegalArgumentException:参数值 [4] 不匹配 预期类型 [.entities.useranswers.UserAnswer (n/a)]
服务:
for (UserAnswerField prevUserAnswerField : userAnswerFieldRepo.getUserAnswerFields(userAnswer.getAnswerId())) {
userAnswerFieldRepo.deleteUserAnswerField(prevUserAnswerField.getfieldId().intValue());
}
回购:
public void deleteUserAnswerField(Integer answerId) {
Query delQuery = getEntityManagerFactory().createQuery("delete from UserAnswerField sff where sff.userAnswerId=:answerId");
delQuery.setParameter("answerId", answerId);
delQuery.executeUpdate();
}
UserAnswer 实体:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "answer_id")
private Integer answerId;
@Basic(optional = false)
@NotNull
@Column(name = "user_id")
private int userId;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 500)
@Column(name = "label")
private String label;
@Basic(optional = true)
@Column(name = "insertion_date")
@Temporal(TemporalType.TIMESTAMP)
private Date insertionDate;
@Column(name = "is_active")
private Boolean isActive;
@Basic(optional = false)
@NotNull
@Size(min = 1, max = 20)
@Column(name = "type")
private String type;
@Transient
private List<UserAnswerField> answerFields;
UserAnswerField 实体:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "field_id")
private Integer fieldId;
@JoinColumn(name = "type_id")
@ManyToOne(optional = false,fetch = FetchType.EAGER,cascade=CascadeType.ALL)
private UserAnswerType typeId;
@JoinColumn(name = "answer_id", referencedColumnName = "answer_id")
@ManyToOne(optional = false,fetch = FetchType.EAGER,cascade=CascadeType.ALL)
private UserAnswer userAnswerId;
@Size(max = 500)
@Column(name = "field")
private String field;
【问题讨论】: