私のデータベースから一部の従業員を削除しようとしていますが、私は できません。 これは私のリポジトリコードである:春のプロジェクトで削除するJpaRepository
public interface EmployeRepository extends JpaRepository<Employe, Long> {
@Query("delete from Employe e where e.idEmploye=:x")
public Employe deleteEmploye(@Param("x") int idEmploye); }
この私のコントローラ:
@RestController public class EmployeRestService {
@Autowired
private EmployeMetier EmployeMetier;
@RequestMapping(value="/employe3",method=RequestMethod.DELETE)
public Employe deleteEmploye(@RequestParam int idEmploye) {
return EmployeMetier.deleteEmploye(idEmploye);}}
私は私のコントローラをテストするときに、私はこのメッセージ春データJPAで
{"timestamp": 1495688812536,
"status": 500,
"error": "Internal Server Error",
"exception": "org.springframework.dao.InvalidDataAccessApiUsageException",
"message": "org.hibernate.hql.internal.QueryExecutionRequestException: Not
supported for DML operations [delete from org.st.entities.Employe e where
e.idEmploye=:x]; nested exception is java.lang.IllegalStateException:
org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for
DML operations [delete from org.st.entities.Employe e where
e.idEmploye=:x]",
"path": "/employe3"
}
クエリ[Modifying' @ 'でアノテートする必要(https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.modifying-queries)と '@ Transactional'です。 – manish