Removing the @Lob annotation fixed the issue.
"invalid stream header" exception - Lob with JPA and MySQL
Question
I have a field defined like this
@MappedSupperclass
public abstract class BaseItem {
...
@Lob @Basic(fetch=FetchType.EAGER)
private String description;
...
}
@Entity
public class Item extends BaseItem {
}
I'm using MySQL 5 and the desccription
field type is TEXT
.
While trying to read an object of type Item I get the following error:
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)
...
Do you have any idea of what are the possible causes for this?
I'm using JDK6 and DataNucleus 3.1.1.
Solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow