2012-09-14 2 views
24

IntelliJ IDEA는 산만하고 실제 문제가있는 JPQL에서 "Symbol을 해결할 수 없습니다"라는 영속적 인 @Entity 클래스 이름을 강조합니다.IntelliJ IDEA는 JPQL에서 "Can not resolve symbol"이라는 @Entity 클래스 이름을 강조 표시합니다.

따라서, 예를 들어, 내 저장소에 쿼리를 선언,

private static final String READ_BY_CANDIDATE_KEY = "SELECT cr FROM Entity AS cr left join cr.relationship AS re left join fetch cr.relationship2 WHERE re.candidateKey=:ID"; 

..와 "엔티티는"밑줄 경우에도 "엔티티"는 유효한 클래스 이름이며, @Entity 주석이 있습니다 . 코드가 실제로 실행되면 문제는 없습니다.

IDE에서 어떤 클래스가 유효한지 알기 위해 어떤 종류의 구성이 필요하다고 생각하십니까? 그 구성은 어떻게 이루어 집니까?

업데이트 : JPA 패싯이 있지만 주석이 달린 클래스가 표시되지 않습니다. persistence.xml 또는 orm.xml (내 프로젝트에서는 사용하지 않음)이 필요합니다.

답변

17

모듈에 IntelliJ IDEA에 JPA 또는 Hibernate 패싯 configured이 있는지 확인하십시오.

+0

당신이 봄을 사용하고 JPA 및 지속성 XML –

+1

다시 업데이 트를 볼 수는 EclipseLink, 최대 절전 모드,는 OpenJPA, TopLink는입니까? 그렇다면 스프링 패싯이 필요합니다. – CrazyCoder

+0

위의 조치를 수행하는 방법에 대한 지침을 제공해 주시겠습니까? –

26

패싯 구성에서 기본 JPA 공급자를 선택하지 않은 것 같습니다. 사용중인 공급자에 따라 목록에서 하나를 선택하십시오. 사용 가능한 옵션은

+0

어디서 정확하게 설정합니까? – powder366

+7

파일> 프로젝트 구조> 패싯으로 이동하십시오. 그런 다음 + 아이콘을 클릭하고 JPA를 프로젝트/모듈에 추가하십시오. 이 작업을 완료하면 기본 JPA 공급자를 선택할 수 있습니다. – Jelle

관련 문제