Bueno, encontré otra manera de hacer el diseño. Más porque el diseño evolucionó que una solución.
Sin embargo, escuché de un colega, que había tenido el mismo problema, que la restricción única solo se crea mediante hibernación (estamos ejecutando JBoss 4.3) cuando se crea toda la base de datos. No funcionará cuando cree una nueva tabla en una base de datos existente.
Entonces, en persistence.xml es necesario configurar hibernate.hbm2ddl.auto
para create-drop
para que funcione. Sin embargo, no puedo confirmar esto.