使用 eclipselink 和 mysql 持久化数据时的奇怪行为



我正在开发一个新的应用程序,我的起点是Spring Roo,所以我遵循与它相同的架构。

我选择了eclipselink作为我的JPA实现,选择MYSQL作为我的数据库。

该应用程序的核心是一个网络爬虫,它从特定网站收集 HTML 并处理从中提取一些数据的 HTML,这些提取的数据与 JPA 实体一起持久化。

在我的开发环境中一切正常,爬虫运行速度非常快,所有数据都存储在数据库中。

但是,当部署在我的测试环境中时,该环境运行在 amazon ec2(使用 elastic beanstalk)之上并连接到远程 mysql 服务器(一个便宜的 hostgator 计划,因为用于测试的 amazon RDS 非常昂贵),数据会变得混乱,实际上不是所有数据,一个特定实体的一个特定字段得到它的数据都搞砸了。

最有趣的是,我调用 persist() 方法并在使用相同的实体发送通知电子邮件之后,电子邮件数据是正确的,但是当 eclipselink(或连接器)发送数据时,它会存储一些奇怪的值,例如:

456d207472c3a26e7369746f207061726120554e49444144452044452054524154414d454e544f20494e5445524e4143494f4e2e2e2e

它正确保留 1 个值,然后保持 1 个错误。

以前有没有人经历过类似的事情?

当我在

驱动程序和数据库之间不匹配时,我遇到了类似的问题。检查 jdbc 驱动程序的确切版本是否与数据库的确切版本匹配。

我自己发现了这个错误,它与编码问题有关。

我正在使用phpmyadmin浏览此数据,它不支持我在应用程序中使用的编码和数据库类型。

当我使用其他客户端检查数据时,它显示正确。

奇怪的是,即使在phpmyadmin上,也只有包含特殊字符的行显示错误

最新更新