Hibernate3中annotation中抛Bean is not mapped 一点存疑

发布于 2013-05-03  21.07k 次阅读


排除一切引起not mapped的问题。

不是路径的问题,不是@Entity name 指向的问题,也不是映射文件的问题,

spring3+hibernate3,项目中使用JPA的annotation注解

annotation交给spring,spring用hibernate AnnotationProxy处理实体映射,AnnotationProxy 实现JPA Annotation接口,而AnnotationProxy 有一个public的values属性,这样当Bean用Entity注解,即是继承了values属性(原理很复杂,很理太清楚,一句话,就是用了HibernateAnnotation中一个public属性导致的!),

下面重写了hashCode和equals方法:

 

于是报错了:org.hibernate.hql.ast.QuerySyntaxException: SysPageColumnHeader is not mapped

解决方法就是删掉hashCode和equals,不能保证对象的唯一性,一般的CRUD不会有太大影响