mysql Connector J 版本 8 不适用于 JPA eclipse 实体生成

Posted

技术标签:

【中文标题】mysql Connector J 版本 8 不适用于 JPA eclipse 实体生成【英文标题】:mysql Connector J version 8 not working with JPA eclipse Entities generation 【发布时间】:2019-01-21 04:45:14 【问题描述】:

我最近使用 mysql 安装程序将 mysql 服务器、工作台和所有软件包更新到了​​最新版本。它将 mysql 连接器 Jar 从版本 5.1 更改为 8.0。

我将部署在我的应用程序服务器(wildfly)上的 JAR 配置为新的连接器,然后我在 eclipse 中做了同样的事情,因为我启动了一个新的 JPA 项目并且我需要“从表中生成实体”。

当我单击它时,它会显示我可以在其中配置与数据库的连接的窗口。所以我添加了一个新的 mysql 连接,并使用模板指定了一个驱动程序。

第一个问题:在“指定驱动程序模板和定义名称”窗口中没有 MySQL JDBC 驱动程序版本 8,而是 5.1。我使用它,但我指定了连接器版本 8.0。

在我看来,上一步是问题所在..

完成连接配置后,我可以选择要生成的实体和表关联。那么问题是:没有指定表关联......我已经多次完成这个生成步骤,但这个问题从未发生过。除此之外,当我生成我的实体时,它们是完全错误的:字段到处重复,关联没有与注释映射,字段名称部分错误......

所以: 8.0版本有问题还是我必须配置其他东西? 我已经通过以下方式添加了一个新连接器:Window -> Preferences, Data Management → Connectivity → Driver Definitions -> Add 按钮。 但什么都没有。

为了完整起见,我按照这些步骤创建了一个简单的数据库,并在 jpql 中启动了一些查询,它起作用了:它们显示了数据库中的数据。我非常需要这一代的工作,任何帮助将不胜感激。谢谢。

【问题讨论】:

因为你不能选择 8.0 为什么你认为这应该工作?您使用哪个 Eclipse 版本? @SimonMartinelli 我认为这是可能的,因为选项只是模板,而不是强制选择。我可以完美地选择版本 8,它不会出错。 Eclipse、mysql、wildfly、maven 等都是最新版本:我 2 天前下载了 eclipse photon 我不知道从元数据的角度来看 8 发生了什么变化。所以问题是你为什么不直接使用 5.1 来生成实体? 我并不打算总是使用最新的版本,但是如果你从官方网站下载mysql,推荐的选项是版本8,所以我认为升级更安全、更高效。是官方稳定版,所以我觉得是我的配置或者工具有问题。 但是在 5.1 中它可以按预期工作? 【参考方案1】:

它有效,请按照下列步骤操作:

从mysqlSight(连接器/j)下载8.0.XX jar文件 解压jar文件,复制到web-inf(j2ee)下的lib director 来自数据源浏览器 右键单击数据库连接并选择新建 选择 mysql 并更新设置

您可以使用连接器 8.0 连接到数据库 mysql

【讨论】:

【参考方案2】:

为 MySQL 驱动程序 8 选择 MySQL 模板时存在错误 - 问题跟踪器上的问题 HAL-1516。

【讨论】:

以上是关于mysql Connector J 版本 8 不适用于 JPA eclipse 实体生成的主要内容,如果未能解决你的问题,请参考以下文章

指定的类不是驱动程序。无法将 MySQL Connector/J 8.0 添加到 Netbeans 8.0

手把手教你JAVA如何连接MYSQL-mysql-connector-j-8.0.32.jar

JDK1.7下测试Connector_J连接MySQL8.0

MySQL Connector/J 6.x jdbc.properties 配置, mysql-connector-java-6.0.4.jar 异常

MySQL 8.0 安装时 Authentication Method

mysql版本和mysql-connector-java的对应关系记录