Buscar
Social
Ofertas laborales ES

Foro sobre Java EE > One to One Hibernate ayuda

Buenos dias con todos tengo otro problema xD aver si me pueden ayudar
Tengo 2 tablas(usuario y cliente) un cliente posee un usuario unico pero al darle guardar al objeto cliente no me guardar el id del usuario que se encuentra dentro del objeto cliente.


clase cliente
package ar.com.magm.model;

import java.io.Serializable;

@SuppressWarnings("serial")
public class Cliente implements Serializable{
private int idCliente;
private String cliente;
private boolean cuentaHabilitada;
private Zona zona;
private Usuario usuario;



public Cliente() {
super();
}

public Cliente(String cliente, boolean cuentaHabilitada, Zona zona,
Usuario usuario) {
super();
this.cliente = cliente;
this.cuentaHabilitada = cuentaHabilitada;
this.zona = zona;
this.usuario = usuario;
}

public String getCliente() {
return cliente;
}

public int getIdCliente() {
return idCliente;
}

public Zona getZona() {
return zona;
}

public boolean isCuentaHabilitada() {
return cuentaHabilitada;
}

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

public void setCuentaHabilitada(boolean cuentaHabilitada) {
this.cuentaHabilitada = cuentaHabilitada;
}

public void setIdCliente(int idCliente) {
this.idCliente = idCliente;
}

public void setZona(Zona zona) {
this.zona = zona;
}

public Usuario getUsuario() {
return usuario;
}

public void setUsuario(Usuario usuario) {
this.usuario = usuario;
}


}

clase Usuario

package ar.com.magm.model;

import java.io.Serializable;

@SuppressWarnings("serial")
public class Usuario implements Serializable{
private int id;
private String nombre;
private String password;
private boolean admin;


public Usuario(String nombre, String password, boolean admin) {
super();
this.nombre = nombre;
this.password = password;
this.admin = admin;
}


public Usuario(){

}


public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public boolean isAdmin() {
return admin;
}
public void setAdmin(boolean admin) {
this.admin = admin;
}

}

Cliente.hbm.xml(Mapeo de Cliente)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="ar.com.magm.model.Cliente" table="cliente">

<generator class="increment" />


<property name="cliente" />
<property name="cuentaHabilitada" />
<one-to-one name="usuario" class="ar.com.magm.model.Usuario" cascade="all"></one-to-one>
<many-to-one name="zona" class="ar.com.magm.model.Zona" column="idZona" cascade="all"/>
</class>
</hibernate-mapping>

usuario.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 01/07/2013 09:03:40 AM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
<class name="ar.com.magm.model.Usuario" table="usuarios">

<generator class="increment" />

<property name="nombre" type="java.lang.String">
<column name="nombre" />
</property>
<property name="password" type="java.lang.String">
<column name="password" />
</property>
<property name="admin" type="boolean">
<column name="admin" />
</property>
</class>
</hibernate-mapping>

la consulta que genera hibernate al darle en el boton guardar

Hibernate:
select
max(idCliente)
from
cliente
Hibernate:
select
zona_.idZona,
zona_.zona as zona2_
from
zonas zona_
where
zona_.idZona=?
Hibernate:
select
max(id)
from
usuarios
Hibernate:
insert
into
cliente
(cliente, cuentaHabilitada, idZona, idCliente)
values
(?, ?, ?, ?)
------------------------>Como se dan cuenta aca esta insertando solo 4 campos
faltaria el id de usuario
Hibernate:
insert
into
usuarios
(nombre, password, admin, id)
values
(?, ?, ?, ?)

julio 2, 2013 | Unregistered CommenterRicardo

perdon x los getter y setter se me paso

julio 2, 2013 | Unregistered CommenterRicardo