ログインページがあり、ユーザーに詳細を入力するように求めるアプリケーションを作成しています。ユーザーは入力した詳細を表示でき、管理者は入力したすべての詳細を表示できます。これには MYSQL を使用し、NetBeans を使用して必要なフォームを作成しています。
ここで、データをデータベースから自分のフォームのテーブルにインポートしたいと考えていました。最初に 3 つのフィールドのデータ型を BLOB として作成しました。データのインポート時に、これらのフィールドでジャンク値を取得していました。
そこで、これらのフィールドのデータ型を TEXT に変更してみました。これは例外をスローします。このようなもの(Issueはフィールド、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 を使用してこれら 3 つのフィールドを表示しない場合でも、例外は発生しません。
このことは、私のコードの別の部分にも影響します。jTable のデータを Excel に転送しています。もちろん、ブロブを使用すると、ジャンク値が Excel ファイルに転送されます。TEXT を使用すると、"\n" が何らかの形でコード内で台無しになり、新しい行が同じレコードに渡されるため、対称性全体が台無しになります。BLOB を使用すると、対称性はまったく問題ありません。
このジャンク値が実際に何かを意味する場合があることをオンラインのどこかで見たので、参考までに、これを取得します。
[B@5c1b24db
[B@deae877
[B@77e427db
[B@6351149e
[B@7191f56d
[B@7c59b580
それで、ここでの問題は正確には何ですか?