数据库
首页 > 数据库> > mysql-无法在Eclipse中创建JPA表

mysql-无法在Eclipse中创建JPA表

作者:互联网

我在eclipse中有一个工作项目,该项目创建了一个从实体到mysql数据库的JPA表(仍在学习中).不幸的是,由于我希望有“测试”和“生产”数据库,因此它在错误的数据库中创建了表.它以某种方式获得了“生产”数据库的详细信息,即使看起来所选的数据库连接都在进行测试.
我对项目进行了一些改动,并使其与正确的连接对象进行一定的连接(测试).我可以ping通Eclipse中的数据库(两个数据库),然后在数据源资源管理器中查看该数据库.
但是现在我无法通过右键单击项目并选择“ JPA’工具’>创建项目表. “从实体生成表”.
像一切正常一样,创建过程开始并完成时没有错误,但是在任何一个数据库中我都看不到任何表. (在Eclipse数据库资源管理器中或在命令行中).
persistence.xml应该很好,因为它之前已经创建了该表.

唯一的错误是针对Entity类,因为它对Entity注释“表xxx无法解析”说.正如我所看到的,它来自未创建的表.

这是persistence.xml,以防万一.
http://pastebin.com/djPZei90

该项目也是Maven项目,它使用SVN. Maven已成功为Eclipse /项目加载了依赖项,并且SVN没有任何复杂性.

由于存在Maven,因此有2个persistence.xml文件(仅登录凭据和数据库名称会更改),用于生产和测试.可能是数据库连接已被检查并从第一位置的错误文件加载. (只是猜测)

我也尝试在生成表时创建script.sql.我找到了文件,但它完全是空的.

无论如何,现在的问题是我无法在任何地方创建表.
我对此完全感到困惑.有什么提示我应该去解决这个问题吗?

解决方法:

克里斯说的没错,即使我在一读时对答案的理解不正确.
我尝试与其他提供程序一起使用,但是我可能偶然修改了错误的文件(因为这是一个maven项目,所以修改了2个“ persistence.xml”文件),或者可能由于其他一些原因我未能找到文件.
之前曾给我提示,我应该使用给定的提供程序(在persitence.xml中).因为我毕竟并没有太在意它.自使用eclipselink以来,提供者必须确实是:

    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>

再次感谢克里斯,即使我第一次尝试失败了,也不得不花几个小时来解决这个问题.

标签:eclipse,jpa,eclipselink,mysql
来源: https://codeday.me/bug/20191201/2079702.html