2016-08-25 20 views
0

j2ee와 최대 절전 모드를 사용하여 두 엔터티 간의 조인을 시도하고 있습니다.TypedQuery에 지정된 유형이 쿼리 반환 유형과 호환되지 않습니다. [클래스 java.lang.Double]

java.lang.IllegalArgumentException: Type specified for TypedQuery is incompatible with query return type [class java.lang.Double]

이 내가 일을

Query query = entityManager 
       .createQuery("SELECT avg(responseEnd - responseStart) FROM QualiteDeService q join q.test",QualiteDeService.class); 

를 얻기 위해 노력하고있어 쿼리이며, 이들은 엔티티 : 는하지만 다음과 같은 오류가

@Entity 
    public class QualiteDeService { 

     private int id_qualite_service; 
      private Test test; 

     @Id  
     @GeneratedValue(strategy=GenerationType.IDENTITY) 
     public int getId_qualite_service() { 
      return id_qualite_service; 
     } 
     @ManyToOne 
     @JoinColumn(name = "id_test", referencedColumnName = "id_test", insertable = false, updatable = false) 
     public Test getTest() { 
      return test; 
     } 
     public void setTest(Test test) { 
      this.test = test; 
     } 
    } 


    @Entity 
    public class Test implements Serializable{ 
    private int id_test; 
private int note; 

    @Id  
    @GeneratedValue(strategy=GenerationType.IDENTITY) 
    public int getId_test() { 
     return id_test; 
    } 
    public void setId_test(int id_test) { 
     this.id_test = id_test; 
    } 
    } 

답변

3

쿼리 반환 형식은 캐스팅 할 엔터티 개체와 호환되어야합니다. 코드 업데이트

entityManager.createQuery("SELECT avg(responseEnd - responseStart) FROM QualiteDeService q join q.test",Double.class); 
관련 문제