2017-03-06 2 views
0

스프링을 사용하는 JPA Eclipse 링크를 사용하여 문자열 기반의 데이터베이스에서 데이터를 찾습니다. 내가 방법을 impelemted 한eclipselink를 사용하여 알 수없는 열 오류가 발생했습니다.

@Transactional 
    public String authorization(LL l){ 
     Query query = m.createNativeQuery("SELECT a FROM user a WHERE a.name = ?"); 
     query.setParameter(1, l.getName()); 
     UserEntity tmp = (UserEntity) query.getSingleResult(); 
} 

내 데이터베이스

id | name | password 

그러나이를 실행하여 내가 얻을 간단 오류

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'a' in 'field list' 

나는 문서를 읽고이 실행하는 호 올바른 방법으로해야한다 그러한 쿼리. 왜이 던지기가 잘못되었다고 말입니까? 내가 실수를했거나 뭔가를 간과 했나요?

모든 도움을 주실 수 있습니다.

+0

이것은 SQL이 아닙니다. 그것은 JPQL –

답변

1

당신은 결과로 기업이 기대하는 것, 그래서 대신 기본 쿼리의 :

m.createNativeQuery 

당신은 필요한 경우에

m.createQuery 

업데이트

를 사용 기본 쿼리를 사용하려면 예상 결과 클래스를 추가해야합니다.

Query query = m.createNativeQuery("SELECT a.* FROM user a WHERE a.name = ?", UserEntity.class); 
+0

createQuery를 사용하여 "사용자"는 최대 절전 모드를 사용하지 않고 오류가 발생했습니다. – Darlyn

+0

결과 클래스를 두 번째 매개 변수로 추가해야합니다. 올바른 이름을 얻기 위해 선택 항목에서 별칭을 사용해야 할 수도 있습니다 –

관련 문제