В моем объекте один столбец объявлен как Blob (здесь аннотации не используются)
public class StreamData{
private Blob file;
}
И в моем DAO я сохраняю это так:
transaction = session.getTransaction();
transaction.begin();
StreamData streamData = new StreamData();
Blob blob = Hibernate.getLobCreator(session)
.createBlob(inputStream, inputStream.available());
streamData.setFile(blob);
session.save(streamData);
transaction.commit();
Я могу успешно сохранить его и получить.
Но я хочу зашифровать поток перед сохранением, используя имеющиеся у нас функции Java.
Также я не могу загрузить весь файл в память, поэтому создание байтового массива из потока и затем шифрование не вариант. Мне нужно зашифровать потоковые куски.
Есть ли способ сделать это?