Je reçois ce cas bizarre lors de l'interrogation Postgres 8.4 pour certains enregistrements avec Blobs (de type OID) avec Hibernate. La requête ne retourne bien mais quand mon code veut lire le contenu du blob avec le code simple ci-dessous, il obtient 0 octets retourPostgresql 8.4 lecture BLOB de style OID avec Hibernate
public static byte[] readBlob(Blob blob) throws Exception {
InputStream is = null;
try {
is = blob.getBinaryStream();
return org.apache.commons.io.IOUtils.toByteArray(is);
}
finally {
if (is != null)
try {
is.close();
}
catch(Exception e) {}
}
}
pense drôle est que je reçois ce comportement que depuis que je suis commencé à ajouter plus d'un de ces enregistrements à la table. La bibliothèque JDBC sous-jacente est de type 3 (postgresq 8.4-701). Quelqu'un peut-il me donner un indice sur la façon de résoudre ce problème? Merci
Peter
Si vous obtenez 6 octets à l'époque je dirais que vous lisez l'OID, 0 octets pourrait signifier soit que l'OID était nul, soit que le blobdata ne mesurait que 0 octet. Essayez d'hiberner 3.6 btw. – Justin