Use uma Correlação vários-com-vários para definir uma associação polivalente com multiplicidade vários-para-vários. Uma correlação vários-com-vários tem dois lados: lado proprietário e lado não-proprietário. Tem de especificar a tabela de junção do lado proprietário. No caso de correlações bidireccionais, qualquer lado pode ser o lado proprietário.
Seleccione o campo a correlacionar na vista Estrutura de JPA.
Clique com o botão direito no campo e depois seleccione Correlacionar Como > Vários com Vários. A vista Detalhes da JPA (para atributos) apresenta as propriedades do campo seleccionado.
Use esta tabela para preencher os campos de Informação geral da vista Detalhes da JPA.
Propriedade | Descrição | Predefinição |
---|---|---|
Hiperligação de Entidade de Correlação | Define esta correlação como uma Correlação vários-com-vários.
Este campo corresponde à anotação |
Vários com vários |
Entidade destino | A entidade com a qual este atributo está correlacionado. | null
Não é necessário especificar explicitamente a entidade destino, uma vez que esta pode ser inferida do tipo de objecto referenciado. |
Obter | Define como os dados são carregados a partir da base de dados. Para mais esclarecimentos, consulte a secção "Tipo de acção de obtenção".
|
Ocioso |
Correlacionado por | O campo da base de dados ao qual pertence a relação. | |
Ordenar por | Especifica a ordem predefinida para objectos devolvidos por uma consulta. Para mais esclarecimentos, consulte "Ordenar por".
|
Sem ordenação |
Use esta tabela para preencher os campos da área Informação da tabela de junção vista Detalhes da JPA.
Propriedade | Descrição | Predefinição |
---|---|---|
Nome | Nome da tabela de junção que contém a coluna da chave externa. | Tem de especificar a tabela de junção do lado proprietário.
Por predefinição, o nome é o da tabela principal associada com as entidades concatenado com um traço de sublinhado. |
Colunas de junção | Seleccione Substituir predefinição, depois, Adicionar, Editar, ou Remover as colunas de junção. | Por predefinição, o nome é o da tabela principal associada com as entidades concatenado com um traço de sublinhado. |
Colunas de junção inversa | Seleccione Substituir predefinição, depois, Adicionar, Editar, ou Remover as colunas de junção. | Por definição, a correlação tem uma única junção. |
Para acrescentar uma nova coluna de junção ou de junção inversa, faça clique em Adicionar.
Para editar um coluna de junção ou de junção inversa existente, seleccione o respectivo campo e faça clique em Editar.
Eclipse adiciona as seguintes anotações ao campo:
@JoinTable(joinColumns=@JoinColumn(name="<JOIN_COLUMN>"), name = "<JOIN_TABLE_NAME>") @ManyToMany(cascade=CascadeType.<CASCADE_TYPE>, fetch=FetchType.<FETCH_TYPE>, targetEntity=<TARGET_ENTITY>, mappedBy = "<MAPPED_BY>") @OrderBy("<ORDER_BY>")