关于hibernate中报Duplicate class/entity mapping org.model.User错的问题

来源:互联网 发布:淘宝上卖高仿的处罚 编辑:程序博客网 时间:2024/05/28 09:34

我昨天犯了一很傻得错误,现在想起来都感觉很好笑。今天就把她2写下来,一来可以当个笑话供大家娱乐,二来可以当做一次教训吧!!  

  我昨天做了下毕业而设计,在用hibernate存储数据的时候报出了一个Duplicate class/entity mapping org.model.User的错误,我一晚上百度,google都没解决掉。网上最多的只是翻译了下这个错误是什么意思,没有具体的怎么分析解决这个问题,当时感觉非常生气,心想谁不知什么意思啊,还用得着你来给我翻译!有些人还说把HibernateFactory的getSession方法里加一个 synchronized 就可以了。但是我试过仍然没用。最终还是没能解决,就这样不得不我抱着遗憾睡觉了。

  今天早上起床后又开始整昨天的问题,在做的过程中,我试了下,如果只在hibernate.cfg.xml文件中只映射一个*.hbm.xml文件的话是没有问题的,于是我又一次试了几个还是没有问题,我就有些奇怪了,但是当我把hibernate.cfg.xml拉到最下边几行的时候,我看到了这样的一句<mapping resource="org/model"/>,我瞬间明白了,也就是我前边把每个文件载入了一次,后边又再从根目录载入当然会报重复载入实体的错误了。也是在那一瞬间我回忆起当时具体是怎么做的了。我在写程序的时候,边写边跟同学聊天,刚生成了一个*.hbm.xml,在我往hibernate.cfg.xml中置的时候,我发现今天没有向svn提交,于是我提交了下。提交完后跟同学说了句话,说完后就没有继续编辑上次未完成的文件,跑到另一个文件中去写了,写完测试的时候就出现了这种问题。

  这件事感觉是一天发生最好笑的事了,这么小的一个疏忽让我费了这么大的劲。还有就是,看到错误后也没仔细去看下配置文件,它说有重复的实体,那我就仔细去对比每个实体文件了。也可能是经验不足吧!

  从这件事也能得到一些教训,就是写程序的时候真的需要细心认真,不可三心二意,否则发生这种搞笑的事情也是必然的。其次遇事得冷静思考,切不可盲目的搜索浪费时间,掌握分析解决问题的能力。还有经验也很重要,我认为经过这次后,以后再遇到类似的问题我能够很快分析出错误原因的。

原创粉丝点击