Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Nome da tabela de relacionamento

Boa tarde. Como podemos fazer para identificar as entidades que já possuímos uma tabela de relacionamento ou ao menos indicar um outro nome como: rel_movimento_categoria? Pergunto pois na maioria dos projetos os nomes de tabelas seguem um padrão de nomenclatura e não poderiamos, neste caso, delegar ao hibernate que crie este nome.

Obrigado.

2 respostas
solução!

Olá, Silvio.

Para o @ManyToMany, você pode usar a anotação @JoinTable:

@Entity
public class Movimentacao {

    // ...

    @ManyToMany
   @JoinTable(
      name="rel_movimento_categoria",
      joinColumns=@JoinColumn(name="mov_id", referencedColumnName="ID"),
      inverseJoinColumns=@JoinColumn(name="cat_id", referencedColumnName="ID")
    private List<Categoria> categoria;

    // ...
}

Já para o @OneToOne (e também para o @ManyToOne) você não terá uma tabela de relacionamento, mas uma coluna apenas. Aí, você usa apenas o @JoinColum:

@Entity
public class Cliente {

    // ...
    @OneToOne
    @JoinColumn(name="cnt_id")
   private Conta conta;

    // ...
}

Boa tarde Alexandre. Obrigado pela explicação.