Chave Composta Diagrama de Classe

9 respostas
L

Estou fazendo um diagrama de classe de um sistema que estou desenvolvendo, porém o sistema tem chave composta. Alguém já modelou um diagrama de classe utilizando chave composta? Se sim como ficaria no diagrama as classes?

9 Respostas

L

Chave composta? Você não estaria desenvolvendo um DER?

L

Não, estou fazendo um diagrama de classe, de um sistema java web com jsf e hibernate e gostaria de saber como passaria para um diagrama de classe um mapeamento composto no caso tenho uma classe cidade

@Colum(name=id)
private Integer id;

@Colum(name=nome)
private String nome;

Depois tenho uma classe BairroPk onde tem dois campos

@Colum(name=“id_bairro”)
private Integer = idBairro;

@Colum(name=“id_cidade”)
private Integer = idCidade;

e a classe Bairro com os campos

@EmbeddedId
private BairroPK id;

@ManyToOne(fetch = FetchType.LAZY)

@JoinColumn(name=id_cidade, referencedColumnName = id, insertable = false, updatable = false)

private Cidade cidade;

Aminha duvida é como ficaria estas duas classes no diagrama de classe

R

Você pode criar uma classe contendo as chaves e coloca-la como atributo da classe que terá essa chave composta. Por exemplo:

public class CarroPK() {
     private Integer chave1;
     private Integer chave2;
}

public class Carro() {
     private CarroPK chaveComposta;
}
L

Fazer um diagrama de classes, com classes que possuem uma chave composta, é feitoda mesma forma para fazer qualquer classe. Defina a classe no diagrama, coloque os atributos, tipos, modificadores, etc.

L

Bom fiz dessa maneira, será que esta correto?

L

Exatamente! Eu apenas retiraria a relação entre Cidade e BairroPk, pois não há essa relação entre as classes. Essa relação deveria está com a classe Bairro.

J

Isso é trabalho de faculdade? Se não for, é perda de tempo.

L

Então lucas mas como estou trabalhando com chave composta no hibernate, existe esta classe BairroPk, mas no caso então, vc faria assim, com o id BairroPk na classe Bairro mostrando que é um ligação composta

L

Deixaria BairroPk do jeito que estava, apenas retiraria a linha que liga Cidade e BairroPk e colocaria ligando Cidade e Bairro. Pois você tem um atributo Cidade dentro de Bairro e não dentro de BairroPk.

Criado 11 de julho de 2016
Ultima resposta 13 de jul. de 2016
Respostas 9
Participantes 4