Foros del Web » Programación para mayores de 30 ;) » Java »

Relacionar llaves compuestas Hibernate

Estas en el tema de Relacionar llaves compuestas Hibernate en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/09/2012, 16:42
 
Fecha de Ingreso: octubre-2008
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 0
Relacionar llaves compuestas Hibernate

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
  #2 (permalink)  
Antiguo 07/09/2012, 09:07
 
Fecha de Ingreso: febrero-2012
Mensajes: 136
Antigüedad: 12 años, 2 meses
Puntos: 8
Respuesta: Relacionar llaves compuestas Hibernate

Uhmm no se mucho de hibernete ..

Ahora ultimo estaba practicando ...


Pero lo que tu quieres hacer es crear tu base de datos apartir de tu codigo ..


Lo que yo te recomendaria es que generes un ejemplo ... Pero apartir de una relacion ya hecha en un base de datos ... Y que le apliques ... Con el netbeans ..
Que te cree tu modelo respecto de tu base de datos ...

Y de esta manera podrias ver ... Como se hace ....

Espero que te haya ayudado
  #3 (permalink)  
Antiguo 07/09/2012, 10:22
 
Fecha de Ingreso: octubre-2008
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Relacionar llaves compuestas Hibernate

Gracias por responder

Lo que sucede es que mi base de datos ya la tengo creada y lo que estoy haciendo es que a traves de hibernate, intentar establecer la relacion 1...n estre las dos tablas que coloco en el ejemplo, llamadas DEPARTAMENTO y CIUDAD.

El problema de raiz radica en que las dos tablas poseen llaves compuestas y no eh logrado la manera de relacionarlas.

Un abrazo
  #4 (permalink)  
Antiguo 08/09/2012, 20:50
 
Fecha de Ingreso: febrero-2012
Mensajes: 136
Antigüedad: 12 años, 2 meses
Puntos: 8
Respuesta: Relacionar llaves compuestas Hibernate

Por lo que lei ...

Que para utilizar Hibernate ... tienes que respetar alguien reglas con respecto a tu base de datos ..

Y una pregunta .... xq no dejas que el IDE te genere tu modelo ... apartir de tu base de datos ....
  #5 (permalink)  
Antiguo 09/09/2012, 15:24
 
Fecha de Ingreso: octubre-2008
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Relacionar llaves compuestas Hibernate

Hola de nuevo


No habia contemplado esa opcion... dos preguntas, si genero el modelo a partir de la base de datos, me lo generaria como en forma de mapeo o con anotaciones??. Lo segundo es como lo podria generar???

Gracias y un abrazo
  #6 (permalink)  
Antiguo 11/09/2012, 08:01
 
Fecha de Ingreso: octubre-2008
Mensajes: 45
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Relacionar llaves compuestas Hibernate

Bueno Lo de realizar ingenieria inversa ya lo pude realizar, muchas gracias, me genera un mapeo de toda mi base de datos. Es muy util lla herramienta que permite hacer eso en NetBeans.

Pero la cuestion es como podria solucionar mi caso.. la verdad llevo un buen tiempo en esta cuestion y la verdad no eh podido, agradeceria de verdad me puedan colaborar, eh buscado por todas partes y eh encontrado algunos ejemplos, pero la verdad no me han funcionado

Un abrazo

Etiquetas: clase, hibernate, llaves, relacionar, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:44.