예를 들어 소유자가 현재 로그인 한 내 데이터베이스에서 레코드 5 개를 제거하려는 경우와 같이 한 사용자와 관련된 모든 레코드를 제거하려면 어떻게합니까? 다음은 내 코드입니다 :이 같은사용자 이름 별 레코드 삭제 DAO/최대 절전 모드
public void deleteOrders() {
Authentication auth = SecurityContextHolder.getContext()
.getAuthentication();
String user = auth.getName(); // get logged in username
getHibernateTemplate().delete(
"FROM " + Orders.class.getName() + " WHERE username='" + user
+ "'");
}
임하려고 뭔가하지만 실패하고 난에 이동할 수 없습니다. 그것을 올바르게하는 방법? 아마 class.getName()
패키지 경로를 포함하지만, 클래스 이름은 테이블 이름과 같은 경우, getSimpleName()
가 작동 할 수 있기 때문에, 작동하지 않을 것
실패한 경우 작동하도록하십시오. 몇 가지 세부 사항으로 말할 수있는 유일한 방법은 연결 대신 매개 변수화 된 쿼리를 사용해야한다는 것입니다. 적어도 우리에게 엔티티의 코드와 예외의 전체 스택 추적을 보여줍니다. –