Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > Ayuda Con Llave compuesta

Hola,

estoy trabajando con spring + Hibernate, y tengo problemas con una llave compuesta. estoy tratando de usar @IdClass pero me genera mal los insert.

necesito que me genere el division_id automatico, en relacion

al cliente_id que le envio.

tengo 2 tablas en la BD
Cliente cliente_id PK
nombre
Divisiones division_id PK
cliente_id PK
division_nombre

Las Clases la tengo difinidad asi.

public Division()
{}

public Division(Cliente cliente)
{
this.cliente = cliente;
this.clienteId = cliente.getId();
}


@Id
private int divisionId;

@GeneratedValue
@Column(name="division_id")
public int getDivisionId() {
return divisionId;
}

public void setDivisionId(int divisionId) {
this.divisionId = divisionId;
}

private String nombre;

@Column(name="division_nombre")
public String getNombre() {
return nombre;
}

public void setNombre(String nombre) {
this.nombre = nombre;
}

@Id
@Column(name="cliente_id", insertable=false, updatable=false)
private int clienteId;

@ManyToOne
@JoinColumn(name="cliente_id")
private Cliente cliente;


public Cliente getCliente() {
return cliente;
}

public void setCliente(Cliente cliente) {
this.cliente = cliente;
}

public class DivisionPK implements Serializable {

int clienteId;

public void setClienteId(int clienteId) {
this.clienteId = clienteId;
}

public int getClienteId() {
return clienteId;
}

int divisionId;

public int getDivisionId() {
return divisionId;
}

public void setDivisionId(int divisionId) {
this.divisionId = divisionId;
}

public DivisionPK(int clienteId, int divisionId) {
this.clienteId = clienteId;
this.divisionId = divisionId;

}

public DivisionPK() {

}

public boolean equals(Object object) {
if (object instanceof DivisionPK) {
DivisionPK pk = (DivisionPK)object;
return clienteId == pk.clienteId && divisionId == pk.divisionId;
} else {
return false;
}
}

public int hashCode() {
return clienteId + divisionId ;
}

}

febrero 26, 2012 | Unregistered CommenterAlexis Araya