【问题标题】:Type specified for TypedQuery is incompatible with query return type [class java.lang.Double]为 TypedQuery 指定的类型与查询返回类型不兼容 [class java.lang.Double]
【发布时间】:2016-08-25 15:39:17
【问题描述】:

我正在尝试使用 j2ee 和休眠在两个实体之间建立连接。 但我收到以下错误:

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;
    }
    }

【问题讨论】:

    标签: hibernate jakarta-ee hql


    【解决方案1】:

    查询返回类型需要与要在其中强制转换的实体对象兼容。更新你的代码

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-29
      • 2016-05-28
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多