Потому что веб-сервисы основаны на HTTP, который является протоколом без сохранения состояния.
Цитируя википедию :
Сервер без сохранения состояния - это сервер, который обрабатывает каждый запрос как независимую транзакцию, не связанную с каким-либо предыдущим запросом.
Т.е. каждый запрос не зависит от предыдущего: даже если мы используем некоторые «уловки», такие как, например, файлы cookie, для сохранения некоторого состояния между запросами, это не определяется протоколом.
Идиотское предупреждение: оказалось, что у меня был устаревший JAR с 9-мя классами Oracle JDBC на моем пути к классам. Очистив это, все просто волшебным образом работало со следующими аннотациями:
@Lob
@Column(name = "PIGGY_DESCRIPTION")
public String getDescription() { return description; }
Виноваты толстые пальцы.
Вы пытались удалить аннотацию @Lob
и просто аннотировать ее с помощью @Column
? По моему опыту, вам не нужно указывать спящему режиму тип столбца для CLOB, он определит его самостоятельно.
Можете ли вы включить фрагмент клиентского кода, который выполняет операцию пакетной обработки?