@Entity
class Carro {
@Id
int id;
String marca, modelo, cor;
// esse é o ponto
Placa placa;
}
@Embeddable
class Placa {
String estado, cidade, letras;
int numeros;
}
Re:[Hibernate] - Mapeamento avançado
3 Respostas
Você fazer com que a classe Placa seja @Embeddable, ficaria assim:
class Carro {
...
@Embedded
Placa placa;
}
@Embeddable
class Placa{
...
}
Imaginem o cenário abaixo:
Tabela ‘carro’ possuindo alguns atributos (definidos na imagem anexa);
Objetos possuindo uma estrurura diferente como segue:
@Entity
class Carro {
@Id
int id;
String marca, modelo, cor;
// esse é o ponto
Placa placa;
}
class Placa {
String estado, cidade, letras;
int numeros;
}
O que desejo:
Placa é um atributo de Carro que na tabela esta mapeado como atributos de carro. Porém, os objetos são distintos.
Gostaria de um meio de mapear no hibernate essa situação, onde Placa tenha os atributos da tabela carro, e que quando eu recuperar um objeto Carro, o atributo Placa ja venha com seus respectivos valores.
Obs. Esse é um exemplo hipotético, desconsiderem possiveis inconsistencias.
Grato.
Obrigado pela ajuda.
Funcionou perfeitamente.
Anexado a isso, utilizei as anotações: @AttributeOverrides e @AttributeOverride que permitem a manipulação dos nomes dos campos, caso sejam diferentes dos da entidade.
Até!