Bene, ho trovato un altro modo per realizzare il design. Più perché il design si è evoluto che una soluzione alternativa.
Ho sentito tuttavia da un collega, che aveva avuto lo stesso problema, che i vincoli univoci vengono creati solo da ibernazione (stiamo eseguendo JBoss 4.3) quando viene creato l'intero database. Non funzionerà quando crei una nuova tabella in un database esistente.
Quindi in persistence.xml è necessario impostare hibernate.hbm2ddl.auto
per create-drop
per farlo funzionare. Non posso confermarlo però.