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 BDCliente cliente_id PKnombre Divisiones division_id PKcliente_id PKdivision_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 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 ; }
}
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 ;
}
}