0

このように定義されたフィールドがあります

@MappedSupperclass
public abstract class BaseItem {

    ...
    @Lob @Basic(fetch=FetchType.EAGER)
    private String description;
    ...
}

@Entity
public class Item extends BaseItem {
}

MySQL 5を使用しており、desccriptionフィールドタイプはTEXTです。

タイプItemのオブジェクトを読み取ろうとすると、次のエラーが発生します。

java.io.StreamCorruptedException: invalid stream header: 6576656E
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:782)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:279)
    at org.datanucleus.store.rdbms.datatype.BlobImpl.getObject(BlobImpl.java:121)
    at org.datanucleus.store.rdbms.mapping.AbstractLargeBinaryRDBMSMapping.getObjectForBytes(AbstractLargeBinaryRDBMSMapping.java:362)
    at org.datanucleus.store.rdbms.mapping.AbstractLargeBinaryRDBMSMapping.getObject(AbstractLargeBinaryRDBMSMapping.java:395)
    at org.datanucleus.store.mapped.mapping.AbstractContainerMapping.getObject(AbstractContainerMapping.java:228)
    at org.datanucleus.store.rdbms.fieldmanager.ResultSetGetter.fetchObjectField(ResultSetGetter.java:176)
    at org.datanucleus.state.AbstractStateManager.replacingObjectField(AbstractStateManager.java:2353)
    ...

これの考えられる原因について何か考えがありますか?

JDK6とDataNucleus3.1.1を使用しています。

4

1 に答える 1

2

@Lobアノテーションを削除すると、問題が修正されました。

于 2012-12-23T02:42:53.290 に答える