Проверка @UniqueConstraint для нескольких таблиц в JPA - PullRequest
4 голосов
/ 03 декабря 2009

В кампусе есть @OneToMany Buildings. В здании есть @OneToMany Rooms.Имена комнат должны быть уникальными в пределах кампуса (например, кампус-A, блок-A, комната-A и кампус-B, блок-A, комната-A должна быть сохранена)

Возможно лиопределить такое уникальное ограничение на сущность комнаты?

1 Ответ

4 голосов
/ 03 декабря 2009

Возможно, я что-то здесь упускаю, но разве названия зданий не уникальны и внутри кампуса? Поэтому вам необходимо убедиться, что названия комнат в данном здании уникальны:

@Entity
@Table(name="rooms",
  uniqueConstraints = {@UniqueConstraint(columnNames={"building_id","name"})}
)
public class Room {
  ...
  @ManyToOne
  @JoinColumn(name = "building_id")
  private Building building;
  ...
}

Если теперь вы сделаете то же самое для Building имен в Campus, вам следует идти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...