2016-08-25 5 views
0

j2eeとhibernateを使用して2つのエンティティ間の結合を試みています。 しかし、私は次のエラーを取得する: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); 
関連する問題