It seems that the driver just does ignores nullability.
When I create a table using another JDBC tool (squirrelsql) outside Servoy I see exactly the same.
I can create a table with non-nullable fields
create table tst (tst_id integer not null, tst_f integer null, primary key (tst_id))
The metadata still says nullable for all columns.
When I insert nulls, it stores 0.
insert into tst values (null, null)
select * from tst -- returns ( 0, 0 )
So it seems this is an issue with the driver / database and cannot be fixed in Servoy.