Я пишу это в моем JpaRepository
@Modifying
@Query("DELETE FROM Backlog b WHERE b.code = ?1")
void deleteBacklog(String code);
, и это мой метод:
@Transactional
@Override
public Integer deleteBacklog(String code) {
try {
backlogRepository.deleteBacklog(code);
return IReturnedValues.DELETE_BACKLOG_SUCCESS;
}catch(Exception e){
return Integer.MAX_VALUE;
}
}
Я получил это в консоли:
Hibernate: delete from backlog where code=?
но когда я проверяю свою базу данных, у меня все еще есть строка. Как я называю свой метод:
if(code == null || code == "") {
//user exist, check if the code is valid or not
response=ResponseEntity.ok(IReturnedValues.DELETE_BACKLOG_TOKEN_VALIDE);
}else {
//check if exist a backlog with this code
List<Backlog> backlog = backlogMetier.findByCode(code);
if(backlog == null) {
response= ResponseEntity.ok(IReturnedValues.DELETE_BACKLOG_CODE_NOT_EXISTE);
}else if(backlog != null){
try {
//delete the backlog
retour=backlogMetier.deleteBacklog(code);
response= ResponseEntity.ok(retour);
} catch (Exception e) {
return ResponseEntity.ok(responseClassMax);
}
}
}
это моя сущность:
@Entity
public class Backlog {
@Id @GeneratedValue
private Long idBacklog;
private String code;
@ManyToOne(fetch=FetchType.LAZY)
private Utilisateur userBacklog;
private Date creationDate;
private String title;
//getters & setters
//constructors
}
И заранее спасибо.