PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

No Spring Boot 2, é possível gerar automaticamente uma JoinTable com uma restrição exclusiva?


Para forçar o Hibernate a criar uma chave primária com ambas as colunas, você deve alterar Collection por Set
public class Role {
  
  @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
  @JoinTable(
    name = "roles_privileges",
    joinColumns = @JoinColumn(
       name = "role_id", referencedColumnName = "id"),
    inverseJoinColumns = @JoinColumn(
       name = "privilege_id", referencedColumnName = "id"))
  private Set<Privilege> privileges;
  
}

E:
public class Privilege {
  
  @ManyToMany(mappedBy = "privileges")
  private Set<Role> roles;
  
}