Why is a ConstraintViolationException being thrown? It's valid to set the value of an ARRAY type to null or to an empty array. Take a look at the impl and handle the case of a null value being passed to the toObject call. In that case, it should just return null.