For scalar or aggregate UDFs that can return a NULL result, simple mapping to Java primitives is not appropriate.
To override the default mapping, the EXTERNAL NAME clause in the CREATE FUNCTION or REPLACE FUNCTION statement must explicitly specify the Java data type of the return value.
For an example of how to override the default mapping of return value types, see Example: Overriding Default Parameter Mapping to Handle NULLs.