For this mapping:
@Embeddable @Struct(name="PersonName") record Name(@Basic(optional = false) String firstName, String middleName, @Basic(optional = false) String lastName){}
The generated DDL is missing not-null constraints:
create type PersonName as (firstName varchar(255), middleName varchar(255), lastName varchar(255))