Mi problema es como puedo relacionar las tablas DEPARTAMENTO y CIUDAD, ya que tengo llaves compuestas en cada una de las tablas.
Donde la relacion es DEPARTAMENTO 1..........n CIUDAD
A continuacion muestro mi codigo actual:
Tabla_DEPARTAMENTO
Código HTML:
@Entity
@Table(name="idocument.DEPARTAMENTO")
public class Tabla_DEPARTAMENTO implements Serializable {
@EmbeddedId
PK_DEPARTAMENTO_PK PK_Departamento = new PK_DEPARTAMENTO_PK();
private String nombre;
private String created_by;
@Temporal(javax.persistence.TemporalType.DATE)
private Date date_created;
private String modified_by;
@Temporal(javax.persistence.TemporalType.DATE)
private Date date_modified;
private String sigla ;
@OneToMany(mappedBy = "DEPARTAMENTO" )
private Collection<Tabla_CIUDAD> CIUDAD;
Código HTML:
@Embeddable public class PK_DEPARTAMENTO_PK implements Serializable { @Column(name="pais") private String pais; @Column(name="codigo") private String codigo;
Tabla_CIUDAD
Código HTML:
@Entity @Table(name="idocument.CIUDAD") public class Tabla_CIUDAD implements Serializable { @EmbeddedId PK_CIUDAD_PK PK_Ciudad = new PK_CIUDAD_PK(); private String codigo; private String nombre; private String created_by; @Temporal(javax.persistence.TemporalType.DATE) private Date date_created; private String modified_by; @Temporal(javax.persistence.TemporalType.DATE) private Date date_modified; @ManyToOne @ForeignKey(name = "fk_ciudad_departamento") @JoinColumns({@JoinColumn(name="pais", referencedColumnName="pais", insertable = false, updatable = false, nullable = false), @JoinColumn(name="departamento", referencedColumnName="codigo")}) private Tabla_DEPARTAMENTO DEPARTAMENTO;
Código HTML:
@Embeddable public class PK_CIUDAD_PK implements Serializable { @Column(name="pais") private String pais; @Column(name="departamento") private String departamento; @Column(name="codigo") private String codigo;
Saludos