WrongClassException从eclipselink切换到Hibernate

|| 我有一个用纯JPA编写并在Glassfish v3.0.1(eclipselink)上运行的工作代码 我决定将持久性提供程序切换为hbernate 3.5.1-final,并且在一个以前有效的查询中遇到了异常。 所有其他查询(命名查询)都可以正常工作。有人可以告诉我下面的问题是什么吗? 我无法将其命名为查询,因为我需要按不同的参数对作业进行排序。 为什么不查询Job类中的集合? 谢谢你的帮助 javax.persistence.PersistenceException:org.hibernate.WrongClassException:ID为16的对象不是指定的子类:mypackage.Job(鉴别符:) 休眠: 选择job0_.id作为id7_,选择job0_.version作为version7_, job0_.created为creat ed7_,job0_.error_msg作为error5_7_, job0_.priority作为priority7_, job0_.retries作为retries7_, job0_.status作为status7_, job0_.subject作为subject7_, 来自test_job job0_的job0_.user_id为user10_7_,job0_.DTYPE为DTYPE7_ 在哪里job0_.user_id =?按job0_.created DESC限制排序? 列出foo;    字符串qst = \“从Job e WHERE中选择SELECT e.user =:user \”;    qst + = \“ ORDER BY e。\” + orderBy;    查询q = em.createQuery(qst); // TypedQuery +列表    q.setParameter(\“ user \”,user);    q.setMaxResults(length);    q.setFirstResult(start);    foo = q.getResultList(); 类: @实体 @表 @NamedQueries {} 作业扩展了BaseEntity { ... @ManyToMany(获取= FetchType.EAGER)     @JoinTable(name = \“ job_address \”,             joinColumns = @JoinColumn(name = \“ job_id \”),             inverseJoinColumns = @JoinColumn(name = \“ address_id \”))     @NotNull     受保护的Set FtpAddress>地址;     @OneToMany(获取= FetchType.EAGER,级联= CascadeType.ALL)     @JoinTable(name = \“ job_transmission \”,             joinColumns = @JoinColumn(name = \“ job_id \”),             inverseJoinColumns = @JoinColumn(name = \“ transmission_id \”))     受保护的Set Transmission>传输; } @MappedSuperclass BaseEntity {     整数ID     诠释版本.... }     
已邀请:
完全错误:查询:
\"SELECT e from Job e WHERE e.user = :user \"
将尝试访问Job类的字段“ user”,但此类没有此类字段!     

要回复问题请先登录注册