문제

HQL에서 SQL을 변환하십시오

SQL 문 : senderaccout에서 endome = "매개 변수 값"에서 사용자 이름을 선출합니다.

더 많은 설명 :

코드를 실행하는 동안이 오류가 발생합니다.

public  List dispUser(String email){
    Query query = em.createQuery("SELECT u.username FROM Useraccout u WHERE u.email=:email)");
    query.setParameter(email, email);
    List search = query.getResultList();
    return search;
}

코드를 실행하는 동안 다음 오류가 발생합니다

java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException:
Useraccout is not mapped [SELECT u.username FROM Useraccout u WHERE u.email=:email1)]
        at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:624)
        at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:96)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
도움이 되었습니까?

해결책

이름이 지정된 클래스를 매핑하지 않은 것 같습니다 Useraccount. 제 생각에는 다음 중 하나입니다.

  • 당신은 이름이 지정된 클래스를 매핑했습니다 Useraccount 쿼리 에서이 클래스의 이름을 잘못 입력했습니다.
  • 당신은 어떤 클래스도 매핑하지 않았습니다. 이것은 당신이 최대 절전 모드의 기본 사항을 이해하지 못한다는 것을 나타냅니다. 요컨대, 데이터베이스 테이블에 맵핑하는 모든 클래스는 XML 파일 또는 주석을 사용 하여이 매핑을 정의해야합니다.
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top