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
诠释版本....
}
没有找到相关结果
已邀请:
1 个回复
田眯衅
将尝试访问Job类的字段“ user”,但此类没有此类字段!