Feeds de los foros

En la página principal de los foros encontrarás los enlaces al logo feed feed general y al de cada uno de los foros.

Subscribete para mantenerte informado de los cambios y responde a las dudas siempre que te sea posible

Buscar en el foro

Imposible procesar la plantilla:FreemarkerTemplate: forums/portlet.html Page: forums/portlet.html. Expression message.seopath is undefined on line 9, column 76 in default/forums/portlet.html.

feed Foro Persistencia Foro: Persistencia

Nuevo Tema Nuevo Tema

Claves compuestas 08/05/2008 11:52
anonymous

Hola.

Os explico mi caso.

Tengo una base de datos que consta de 3 tablas:

USER con PK id_user

APLICACION con PK id_ap

UA con clave compuesta PK(FK id_user & FK id_ap).

La cuestión es que por más que miro tutoriales por ahí no se cómo implementarlo.

Se que debería usar el del cual entiendo la estructura básica pero no se en qué fichero de mapeo ponerlo ni cómo especificar de qué clase ha de obtener los atributos para introducirlos en la tabla UA.

A ver si alguien puede ayudarme. Muchas gracias.

#unapprove_message#
RE: Claves compuestas 09/05/2008 22:14
guialv


Estoy comenzando con persistencia así que no te puedo indicar cómo funciona, pero a mi me ha servido mucho utilizar un IDE que me genera las clases y así he podido asimiliar más fácilmente la mejor forma de hacer los enlaces con la base de datos. Estoy usando Netbeans que me ha generado enlaces de llaves foráneas y también enlaces de llaves compuestas. En este último caso me genera una clase aparte que contiene la llave compuesta enlazada con la base de datos y la mapea como un objeto a la clase principal.

Te recomiendo que, al menos si no te interesa trabajar con el IDE, al menos lo uses para hacer las clases de entidad y luego uses el código generado en tu propio proyecto.

Saludos.

#unapprove_message#
RE: Claves compuestas 10/05/2008 00:44
anonymous

El caso es que por requerimientos del jefe de proyecto, éso no es viable.

Se parte de un diseño de DDBB y a partir de ahí, se crean las cosas a pelo, no se confía en las herramientas de ayuda.

 Podrías ponerme el esquema de la DDBB de tu clave compuesta y el archivo de mapeo de las clases relacionadas?

Gracias!

#unapprove_message#
RE: RE: Claves compuestas 13/05/2008 18:54
guialv

Tengo una tabla Usuarios, una tabla Archivo y una delegados con las claves primarias de las dos primeras. La asociación que hace el IDE la hace en la clase Archivo así:

@JoinTable(name = "delegados", joinColumns = {@JoinColumn(name = "numero_orden", referencedColumnName = "numero"), @JoinColumn(name = "fecha_recibo", referencedColumnName = "fecha_recibo")}, inverseJoinColumns = {@JoinColumn(name = "id_delegado", referencedColumnName = "id_usuario")})
@ManyToMany
private Collection delegados;

La PK de Archivo en la base de datos es (numero, fecha_recibo) y en la clase de entidad es la clase ArchivoPK:

@Embeddable
public class ArchivoPK implements Serializable {
@Column(name = "numero", nullable = false)
private int numero;
@Column(name = "fecha_recibo", nullable = false)
@Temporal(TemporalType.DATE)
private Date fechaRecibo;

public ArchivoPK() {

}

public ArchivoPK(int numero, Date fechaRecibo) {
this.numero = numero;
this.fechaRecibo = fechaRecibo;
}

public int getNumero() {
return numero;
}

public void setNumero(int numero) {
this.numero = numero;
}

public Date getFechaRecibo() {
return fechaRecibo;
}

public void setFechaRecibo(Date fechaRecibo) {
this.fechaRecibo = fechaRecibo;
}

}

No sé si eso es lo que me pides, pero ese fue el código que generó y que hace la asociación. No crea una clase nueva, sólo mapea los campos.

#unapprove_message#
#thread_expired#.
Sun Microsystem Logo NHT-Norwick Logo

© 2002-2007 Asociación javaHispano