JPA – Mapeamento com chave composta

Municipio

@Entity
@Table(name = "municipio")
public class Municipio {

	@EmbeddedId
	private MunicipioPK id;

	@Column(name = "DSC_MUNICIPIO")
	private String nome;

	@Column(name = "NUM_CEP")
	private Long cep;

	@ManyToOne
	@JoinColumn(name = "COD_UF", referencedColumnName = "COD_UF", insertable = false, updatable = false)
	private UnidadeFederacao uf;
}

MunicipioPK

@Embeddable
public class MunicipioPK implements Serializable {

	@Column(name = "COD_MUNICIPIO")
	private Integer idMunicipio;

	@Column(name = "COD_UF")
	private Integer idUnidadeFederacao;
}

UnidadeFederativa

@Entity
@Table(name = "unidade_federacao")
public class UnidadeFederacao {

	@Id
	@Column(name = "cod_uf")
	private Integer id;

	@Column(name = "dsc_uf")
	private String nome;

	@Column(name = "nom_sigla_uf")
	private String sigla;

	@OneToMany(mappedBy = "uf", fetch = FetchType.LAZY)
	private List municipios;
}

Share and Enjoy !

0Shares
0 0