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

Hibernate Annotations

Estas en el tema de Hibernate Annotations en el foro de Programación General en Foros del Web. Hola, estoy intentado mapear mi aplicación pero me estoy volviendo bastante loco. La aplicacion usa struts2 e hibernate annotations. Tengo dos tablas, USER user_id -----> ...
  #1 (permalink)  
Antiguo 14/01/2011, 11:09
 
Fecha de Ingreso: agosto-2010
Mensajes: 3
Antigüedad: 13 años, 8 meses
Puntos: 0
Hibernate Annotations

Hola,
estoy intentado mapear mi aplicación pero me estoy volviendo bastante loco. La aplicacion usa struts2 e hibernate annotations.

Tengo dos tablas,

USER
user_id -----> PK
user_nam
....

COSAS
cosa_id ----> PK
user_id ----> PK
cosa_nombre
....


La clase user.java tiene:

@Id
@GeneratedValue
@Column(name = "USER_ID")
public Long getId() {...}

public void setId(){...}

//Lista donde se almacena una lista con el id del usuario y el id de las cosas.
@OneToMany
@JoinTable(name = "COSAS", joinColumns={@JoinColumn(name="USER_ID")}, inverseJoinColumns = { @JoinColumn(name = "COSA_ID") })
public Set<Cosa> getCosalist() {...}

public void setList2doList(Set<Cosa> CosaList) {...}

resto de getters y setter....


La clase cosa.java tiene:


@Id
@GeneratedValue
@Column(name = "COSA_ID")
public Long getId() {...}

public void setId(Long id) {...}


@Id
@GeneratedValue
@Column(name = "USER_ID")
@ManyToOne
@JoinTable(name = "USER", joinColumns={@JoinColumn(name="USER_ID")})
public Long getUser() {..}

public void setUser(Long user) {..}

resto de getters y setter....



Uso hibernate Tools para eclipse y me sale un error con el session factory tal que asi:

org.hibernate.MappingException: Foreign key (FK35A3EEDF62F878A2:COSA [COSA_ID])) must have same number of columns as the referenced primary key (COSA [USER_ID,COSA_ID])
Foreign key (FK35A3EEDF62F878A2:COSA [COSA_ID])) must have same number of columns as the referenced primary key (COSA [USER_ID,COSA_ID])

En la BD tengo hecha la relación correctamente.
He probado y mirado multitud de paginas y no llego a solucionarlo.
Quitando la etiqueta @ManyToOne del getUser tampoco rula...

El problema creo yo esta con las anotaciones, pero no llego a ver donde esta el problema.


Muchas gracias a todos
  #2 (permalink)  
Antiguo 02/07/2011, 12:05
 
Fecha de Ingreso: julio-2011
Ubicación: Caracas
Mensajes: 3
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Hibernate Annotations

Muy bien, respondo algo tarde, me acabo de registrar en el foro para responder a esta ayuda, tambien soy algo nuevo por eso encontre esta entrada, y por eso quiero ayudar, primero que manejador de base de datos usas?
Es necesario saberlo, no creo que alla problema con las anotaciones, estan bien, solo que yo recomiendo usar los campos de las tablas en minusculo, para que asi no haya problema, viendo la excepcion hay un error en la declaracion de la clave foranea, te recomiendo verifiques!

Saludos!

Etiquetas: annotations, hibernate
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 13:18.