есть класс сущность
@Getter
@Setter
@EqualsAndHashCode
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "NF_SEND_LIST_SSKV")
public class SendListSskv implements Serializable {
@Id
@GeneratedValue(generator = "NF_SEND_EXP_SEQ", strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name = "NF_SEND_EXP_SEQ", sequenceName = "NF_SEND_EXP_SEQ", allocationSize = 1)
private long id;
@Column(name = "E_MAIL")
private String email;
@Column(name = "SEND_STATUS")
private Boolean status;
@Column(name = "MESSAGE")
@Lob
private String message;
@Temporal(TemporalType.DATE)
@Column(name = "CREATE_DATE")
private Date createDate;
@Column(name = "SUBJECT")
private String subject;
@JsonIgnore
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "E_MAIL", insertable = false, updatable=false)
private NotifyUser users;
}
и репо для него
public interface SendListSskvRepository extends PagingAndSortingRepository<SendListSskv, Long>, JpaSpecificationExecutor<SendListSskv> {
List<SendListSskv> findAllByStatus(Boolean bool);
void deleteAllByEmail(String email);
List<SendListSskv> findAllByEmail(String email);
}
я пытаюсь вызвать метод deleteAllByEmail(String email), в этом случае hibernate сначала делает select всех этих записей, чтоб потом удалить и генерит следующий запрос
select sendlistss0_.E_MAIL as E_MAIL3_16_0_,
sendlistss0_.id as id1_13_0_,
sendlistss0_.id as id1_13_1_,
sendlistss0_.CREATE_DATE as CREATE_DATE2_13_1_,
sendlistss0_.E_MAIL as E_MAIL3_13_1_,
sendlistss0_.MESSAGE as MESSAGE4_13_1_,
sendlistss0_.SEND_STATUS as SEND_STATUS5_13_1_,
sendlistss0_.SUBJECT as SUBJECT6_13_1_ from NF_SEND_LIST_SSKV sendlistss0_
where sendlistss0_.E_MAIL=?;
после чего падает с ошибкой
Fail to convert to internal representation
ошибка эта связана с тем, что он не может замапить полученные поля на сущности, а не может он этого сделать потому что по неведомой причине дважды выбрал sendlistss0_.id и sendlistss0_.E_MAIL
помогите пожалуйста понять почему и как это исправить?