Sterownik PostgreSQL JDBC wybrał niestety sposób na reprezentację kodów typu nie-standardowego JDBC. Po prostu mapują je wszystkie na Typy.INNE. Krótko mówiąc, musisz włączyć specjalne mapowanie typu Hibernate do obsługi mapowań UUID (do kolumn typu danych uuid specyficznego dla Postgres):
@Id
@Column(name = "customer_id")
@org.hibernate.annotations.Type(type="org.hibernate.type.PostgresUUIDType")
private UUID id;
lub bardziej zwięźle:
@Id
@Column(name = "customer_id")
@org.hibernate.annotations.Type(type="pg-uuid")
private UUID id;
Inną (lepszą) opcją jest zarejestrowanie org.hibernate.type.PostgresUUIDType jako domyślnego mapowania typu Hibernate dla wszystkich atrybutów eksponowanych jako java.util.UUID. Jest to opisane w dokumentacji @ http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html/ch06.html#types-registry