我正在创建一个具有登录页面的应用程序,要求用户输入详细信息。用户可以查看他/她输入的详细信息,管理员可以查看所有输入的详细信息。我为此使用 MYSQL 并使用 NetBeans 创建所需的表单。
现在,我想将数据从名为tenderdetails 的数据库中导入到我的表单中的表中,并带有一个名为details 的表。我最初将三个字段的数据类型设置为 BLOB。在导入数据时,我在这些字段中得到了垃圾值。
所以,我尝试将这些字段的数据类型更改为 TEXT。这会引发异常。像这样(问题是一个字段,AAI 包)
org.eclipse.persistence.exceptions.ConversionException Exception Description: The object [DATA THAT I ENTERED FOR FIELD ISSUE], of class [class java.lang.String], from mapping [org.eclipse.persistence.mappings.DirectToFieldMapping[issue-->tenderdetails.calldetails.Issue]] with descriptor [RelationalDescriptor(AAI.Calldetails --> [DatabaseTable(tenderdetails.calldetails)])], could not be converted to [class [B]. Exception in thread "AWT-EventQueue-0"
和
javax.persistence.PersistenceException: Exception [EclipseLink-3002] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.ConversionException Exception Description: The object [DATA THAT I ENTERED FOR FIELD ISSUE ], of class [class java.lang.String], from mapping [org.eclipse.persistence.mappings.DirectToFieldMapping[issue-->tenderdetails.calldetails.Issue]] with descriptor [RelationalDescriptor(AAI.Calldetails --> [DatabaseTable(tenderdetails.calldetails)])], could not be converted to [class [B].
并且,
org.eclipse.persistence.exceptions.ConversionException Exception Description: The object [DATA THAT I ENTERED FOR FIELD ISSUE ], of class [class java.lang.String], from mapping [org.eclipse.persistence.mappings.DirectToFieldMapping[issue-->tenderdetails.calldetails.Issue]] with descriptor [RelationalDescriptor(AAI.Calldetails --> [DatabaseTable(tenderdetails.calldetails)])], could not be converted to [class [B]. at org.eclipse.persistence.exceptions.ConversionException.couldNotBeConverted(ConversionException.java:75) at org.eclipse.persistence.internal.helper.Helper.buildBytesFromHexString(Helper.java:265)
当我对这些字段使用数据类型 BLOB 时,这些异常再次被删除。当我将此数据类型更改为 VARCHAR 时,仍然会引发异常。
即使我使用 TEXT 并且不显示这三个字段,也没有看到异常。
这件事也影响了我代码的另一部分。我正在将 jTable 中的数据传输到 Excel。当然,在使用 blob 时,垃圾值会被传输到 Excel 文件中。在使用 TEXT 时,“\n”在我的代码中以某种方式弄乱了,并且新行被赋予了相同的记录,因此整个对称性被弄乱了。在使用 BLOB 时,对称性非常好。
我在网上的某个地方看到,有时这个垃圾值实际上意味着什么,所以作为参考,我得到这个:
[B@5c1b24db
[B@deae877
[B@77e427db
[B@6351149e
[B@7191f56d
[B@7c59b580
那么,这里到底有什么问题呢?