Я бы рекомендовал делать это не в Java, а вместо этого в SQL, когда вы выполняете INSERT.
Например, в Oracle вы можете использовать функцию SUBSTR для обрезки, используя connection.prepareStatement
:
insert into mytable (col1, col2) values (?, substr(?, 0, 2000));
Затем задайте значения col1
и col2
для PreparedStatement
, и Oracle должен получить первые 2000 символов / байтов / что угодно, что делает этот оракул, и установить это.
Возможно, даже стоит сделать это с помощью хранимой процедуры, передав всю строку в качестве аргумента VARCHAR2 процедуре, которая затем обрезает ее и вставляет строку. Нет необходимости, чтобы приложение связывалось с базовой семантикой хранилища.