Ho trovato 2 modi per passare il valore richiesto alla funzione:
- È difficile creare la stringa dell'UDT se è complessa. Il modo più semplice è fare il reverse engineering. Crea l'UDT in plpgsql e stampalo. In questo modo otterrai la stringa che deve essere passata da Java. Ora nel codice Java scrivi una logica per creare tale stringa.
- Un altro modo è passare il valore nel formato json e nella funzione, analizzare il json e costruire l'UDT da solo.
Scelgo il 2° approccio perché è di facile manutenzione.