Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2011, 11:09
grillermo
 
Fecha de Ingreso: agosto-2010
Mensajes: 3
Antigüedad: 14 años, 7 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