我正在使用Spring-3.0.5和Hibernate-3来处理我正在进行的项目。 我间歇地只为“user_roles”域表获取“org.hibernate.MappingException:Unknown entity:”,并且只有在我尝试在该表中插入记录时才会这样。所有域对象使用“ javax.persistence.Entity ”和不“ org.hibernate.annotations.Entity “,这通常是导致此错误的原因。已经为“sessionFactory”bean提供了“ packagesToScan ”的值。清理和建设项目没有帮助。 令人惊讶的是,在部署到Tomcat时,我确实在控制台上看到以下行:
[AnnotationBinder] Binding entity from annotated class: UserRole
[EntityBinder] Bind entity UserRole on table user_roles
就像所有其他域类一样。
(这个问题似乎是another question的精确副本,尚未得到答复。)
非常感谢任何帮助。
感谢。
答案 0 :(得分:2)
修正了这个问题。 问题出在我的代码上。我保存了用户对象并分别保存了关联的user_roles而没有更新用户对象,即我没有执行session.save(userRoles)而没有执行user.setUserRoles(userRoles)。我现在将代码更改为首先在用户中设置userRoles,然后只保存用户对象,同时保存用户角色。 希望hibernate的行为更加一致,错误信息更友好一些:)
感谢。