Я определяю свой собственный UserType, называемый FixedString, и в методе nullSafeSet я хотел бы заполнить (rightPad) все строки пробелами (до длины этого столбца, определенного с помощью аннотации:
@Столбец (длина = 100, nullable = истина)).
У меня нет проблем с обрезкой всех строк в методе nullSafeGet (с методом StringUtils.trim):
public Object nullSafeGet(ResultSet inResultSet, String[] names, Object o) throws SQLException {
String val = (String)Hibernate.STRING.nullSafeGet(inResultSet, names[0]);
return StringUtils.trim(val);
}
но я понятия не имею, как я могу получить длину текущего столбца (в моем случае COLUMN_LENGTH), поэтому я могу заполнить эту строку пробелами (до предопределенной длины столбца)
public void nullSafeSet(PreparedStatement inPreparedStatement, Object o, int i) throws SQLException {
String val = (String)o;
inPreparedStatement.setString(i, StringUtils.rightPad(val, COLUMN_LENGTH)));
}
Может ли кто-нибудь помочь мне с этим, пожалуйста? Я открыт для любых идей...
Большое спасибо,
Роб