Cóż, znalazłem inny sposób na wykonanie projektu. Bardziej dlatego, że projekt ewoluował niż obejście się.
Słyszałem jednak od kolegi, który miał ten sam problem, że unikalne ograniczenia są tworzone tylko przez hibernację (uruchamiamy JBoss 4.3) podczas tworzenia całej bazy danych. Nie będzie działać, gdy utworzysz nową tabelę w istniejącej bazie danych.
Więc w persistence.xml konieczne jest ustawienie hibernate.hbm2ddl.auto
create-drop
aby to działało. Nie mogę tego jednak potwierdzić.