Hibernate报错:User is not mapped !

beijixing022 2009-07-30 09:31:36
将工程A的实体类打成jar包,在A工程中,测试用列可以良好运行;
将jar放到另外一个工程B中,运行B的用列时,报以下错误:
org.springframework.orm.hibernate3.HibernateQueryException: User is not mapped [from User ep where ep.empeeAcct = ?]; .....后面错误省略。

另外:我的实体映射采用的是Hibernate注解方式,
不知道问题描述清楚了没有,有不明白的请跟帖~~~
问题解决,立即散分,老规矩:最先解决问题者得一半以上分!
...全文
5303 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovemy015 2012-07-03
  • 打赏
  • 举报
回复
经过调试源码,在spring AnnotationSessionFactoryBean 的scanPackages方法中有如下代码
for (String pkg : this.packagesToScan) {
String pattern = ResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX +
ClassUtils.convertClassNameToResourcePath(pkg) +RESOURCE_PATTERN;
Resource[] resources = this.resourcePatternResolver.getResources(pattern);

resources是通过反射去找配置的类,如果packagesToScan指定的报名在jar包中,是找不到路径的,
我这边打断点找到的url是apache-tomcat-6.0.32\webapps\320ServiceManagement\WEB-INF\classes\stim\servicemanagement\entity\AppService.class
tbgdwj01 2011-12-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zhaohuizixin 的回复:]
user表没有在hibernate.cfg.xml 文件中配置.
[/Quote]

就是这个错
cainiaofeiguo 2011-11-23
  • 打赏
  • 举报
回复
你把createQuery改为createSQLQuery试试吧
红之悟 2011-10-26
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 guohengj 的回复:]
User是类名而不是数据库表名
[/Quote]
人家回答正确了也不给分,楼主太差了吧!
kyoisme2000 2011-09-23
  • 打赏
  • 举报
回复
日啊,这个问题我也碰到了,有回答的吗
beijixing022 2010-09-11
  • 打赏
  • 举报
回复
哎,看到有人回复了,但大多数人,没看清题意;
其实问题的关键是:如果实体文件编译之后打成jar,放入另外一个过程中,就算注解和路径没有错误,hibernate也无法映射。

感兴趣的自己动手尝试下,会更清楚一些
laijavatoo 2010-08-22
  • 打赏
  • 举报
回复
我感觉12楼说的有道理,出现这种问题就是
1。 映射文件不对
2。表没有在hibernate.cfg.xml 文件中配置.
AABPs9AArAAA1gwAAI 2010-06-10
  • 打赏
  • 举报
回复
User是类名而不是数据库表名
beijixing022 2010-02-11
  • 打赏
  • 举报
回复
引用 17 楼 zl3450341 的回复:
hql语句前面没少select *??


没有错的 , 因为测试用例都运行通过
beijixing022 2010-02-11
  • 打赏
  • 举报
回复
引用 19 楼 ican_areyou 的回复:
Configue:
<mapping resource="com/ctoc/post/pojo/Brand.hbm.xml"/>

Annotation:
<mapping class="com.ctoc.post.pojo.Brand"/>


用的是"packagesToScan",到指定包下寻找实体,估计是打成jar后,spring无法正常找到相应的实体
beijixing022 2010-02-11
  • 打赏
  • 举报
回复
引用 18 楼 twinsshehp 的回复:
鄙视 菜鸟错了 还不肯承认 看看AB两个工程中user的包结构相同么?  我怀疑 他就答对了


user只存在A工程中,只不过被打成了jar,然后放到B工程;
另外映射用的是注解,不是xml方式;
ican_areyou 2009-12-22
  • 打赏
  • 举报
回复
Configue:
<mapping resource="com/ctoc/post/pojo/Brand.hbm.xml"/>

Annotation:
<mapping class="com.ctoc.post.pojo.Brand"/>
twinsshehp 2009-12-08
  • 打赏
  • 举报
回复
鄙视 菜鸟错了 还不肯承认 看看AB两个工程中user的包结构相同么? 我怀疑 他就答对了
zl3450341 2009-08-02
  • 打赏
  • 举报
回复
hql语句前面没少select *??
beijixing022 2009-08-02
  • 打赏
  • 举报
回复
在等等,看有没有人遇到类似的问题~~~
beijixing022 2009-07-31
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 imahunter 的回复:]
看看AB两个工程中user的包结构相同么?
[/Quote]

结构完全相同~~~~
ImAHunter 2009-07-30
  • 打赏
  • 举报
回复
看看AB两个工程中user的包结构相同么?
beijixing022 2009-07-30
  • 打赏
  • 举报
回复
期盼专家老紫竹前来看看~~~~。。。。
beijixing022 2009-07-30
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zhaohuizixin 的回复:]
user表没有在hibernate.cfg.xml 文件中配置.
[/Quote]

肯定是配置有的,配置用的是注解方式。
beijixing022 2009-07-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 beijixing022 的回复:]
在线等~~~~欢迎跟帖~
[/Quote]

在线等~~~~欢迎跟帖~
加载更多回复(10)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧