IDEA的hibernate逆向工程使用失败的原因

IDEA可以使用persistence进行hibernate或者JPA的逆向工程的注解试题或者xml的文件生成,具体使用过程网上有很多,这里就不说了。
很多同学可能会遇到无法创建的情况。
产生这种情况的主要原因很可能是项目并没有直接使用hibernate,如使用的是springboot集成的JPA、或者hibernate框架是后来加进去的,而加入hibernate框架支持的方法不当导致的。不当的方法为项目添加framework支持的时候很容易出现以下情况。
查看project structure:
这里写图片描述
再选中这几个module,会发现hibernate所在的module没有sources:
这里写图片描述
这里写图片描述

因为hibernate所在的module没有sources,所以逆向工程无法生成。

我纠结了好久才发现是这个原因导致的,下面是我找到的解决办法(前两个方法为已经错了的补救方法,第三个为正确添加框架支持的方式,可以直接将错误方法添加的框架支持删掉,使用方法三即可):

解决方法1:
为hibernate所在module指定一个sources,假设我们指定src为sources(src目录下其他路径都被上面几个module占用了),选中src目录,点击蓝色图标的sources,这样就是讲src指定为hibernate所在module的跟目录了。然后再进行逆向工程就可以成功了,但是他生成的文件路径是相对于src的,所以还需要手动移动下文件位置。

解决方法2:
1、close project
2、将项目从最近使用项目列表删除
3、删除项目目录下后缀名为iml的文件
4、逆向工程生成hibernate.cfg.xml配置文件放在src/main/resources目录下(其实任意classepath目录下都行)
5、重新导入打开项目
6、打开项目以后IDEA右下角会提示发现new framework的弹窗,点击configuration,加入hibernate支持即可
这时候hibernate的source目录就是成了项目的classpath路径,这样逆向工程就可以成功生成文件了,而且路径也是正确的。

解决方法3:
会产生module的sources目录没有的原因是在我们添加框架支持时,直接右键的项目目录:
这里写图片描述
这样去添加hibernate的框架支持就会出现本文描述的情况。
正确的添加方式:
菜单 file—-》project structure—–》modules
这里写图片描述
选中正确的module,点击加号,选中hibernate添加即可。
这里写图片描述

会发现hibernate支持添加到了正确的module中。
这里写图片描述

这样就完美解决了逆向工程失败的问题。

猜你喜欢

转载自blog.csdn.net/qq_36666651/article/details/80878748
今日推荐