Пусть у пользователя есть ссылка на сайт:
@ManyToOne(optional=false)
private Site site;
Теперь добавьте ограничение для пользователя:
@Table(uniqueConstraints = {
@UniqueConstraint(columnNames = { "username", "site" }))
} @Entity
public class User{
// etc
}
Вам также придется изменить отображение сайта:
@OneToMany(mappedBy="site")
private List<User> users;