我正在尝试使用j2ee和hibernate在两个实体之间建立连接。 但是我收到以下错误:
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;
}
}
答案 0 :(得分:4)
查询返回类型需要与要在其中强制转换的实体对象兼容。更新您的代码
entityManager.createQuery("SELECT avg(responseEnd - responseStart) FROM QualiteDeService q join q.test",Double.class );