Teeda @ByteLengthはデフォルトエンコード
もう1つ思い出しました。
バイト数についてのValidator
@ByteLength
ですが、デフォルトエンコードが使われているため、気をつける必要があるようです。
プラットフォームが変わると、バイト数が変わってしまいます。
ただ、自分でValidator用のannotation作れば簡単に対応できます。
↓みたいな感じでよかったような。
@Retention(RetentionPolicy.RUNTIME)
@Target( { ElementType.FIELD, ElementType.METHOD })
@Validator("TByteLengthValidator")
public @interface XXByteLength {
int minimum() default -1;
int maximum() default -1;
String target() default "";
String minimumMessageId() default "";
String maximumMessageId() default "";
String charSet() default "Shift_JIS";
}