Hola Gente:
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;
CLASE QUE CONTIENE LAS LLAVES DE DEPARTAMENTO Código HTML:
@Embeddable
public class PK_DEPARTAMENTO_PK implements Serializable {
@Column(name="pais")
private String pais;
@Column(name="codigo")
private String codigo;
La anterior es mi tabla en la base de datos llamada
departamento que cuenta con 2 claves primarias
pais y
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;
CLASE QUE CONTIENE LAS LLAVES DE CIUDAD 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;
Les agradeceria me pudieran sacar de este aprieto
Saludos