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

Hibernate y jsf problemas con eliminacion

Estas en el tema de Hibernate y jsf problemas con eliminacion en el foro de Java en Foros del Web. Buenas noches Queria molestarlos aver si uds me pueden colaborar es que estoy hace 3 dias en esto y no e podido solucionar este error. ...
  #1 (permalink)  
Antiguo 06/11/2012, 21:52
 
Fecha de Ingreso: noviembre-2012
Ubicación: Bogotá
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Hibernate y jsf problemas con eliminacion

Buenas noches Queria molestarlos aver si uds me pueden colaborar es que estoy hace 3 dias en esto y no e podido solucionar este error.

lo que quiero hacer es eliminar todo un campo de la base de datos

este es el metodo del ProveedoreBean

public void eliminar() {
ProveedorDao proveedorDao = new ProveedorDaoImpl();
proveedorDao.eliminar(proveedor);
proveedor = new Proveedor();
FacesContext context = FacesContext.getCurrentInstance();
context.addMessage(null, new FacesMessage("Proveedor eliminado exitosamente."));
}

el del dao
public void eliminar(Proveedor proveedor);

y el el daoimpl

public void eliminar(Proveedor proveedor) {
Session session = HibernateUtil.getSessionFactory().openSession();
try {
session.beginTransaction();
session.delete(proveedor);
session.beginTransaction().commit();
} catch (Exception e) {
System.out.println("Error en eliminar: "+e.getMessage());
session.beginTransaction().rollback();
}
}

y aca lo elimino

<p:commandButton value="&nbsp;Eliminar" update=":frmProveedores:datatable, growlEliminar, dlgEliminar"
actionListener="#{proveedorBean.eliminar()}" oncomplete="dlgEliminar.hide()" image="icon-save" />
<p:commandButton value="&nbsp;Cancelar" update=":frmProveedores:datatable" oncomplete="dlgEliminar.hide()"
image="icon-cancel" />

el problema es que no me elimina me crea modifica consulta pero no me elimina o es que tengo el metodo mal la verdad no se como solucionar el error si alguien me puede colaborar le agradeseria de antemano
  #2 (permalink)  
Antiguo 08/11/2012, 05:30
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 1 mes
Puntos: 454
Respuesta: Hibernate y jsf problemas con eliminacion

¿Este linea System.out.println("Error en eliminar: "+e.getMessage()); muestra algo en el log?

No sé si la siguiente es la causa sin ver ese log de error si es que lo hay, pero quizás el motivo sea que Proveedor debe llevar un id para identificarlo en base de datos. Quizás cuando intentas borrarlos ese id no esté relleno y no sepa que borrar.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 09/11/2012, 10:18
 
Fecha de Ingreso: noviembre-2012
Ubicación: Bogotá
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: Hibernate y jsf problemas con eliminacion

gracias por tu colaboracion pero el error no era ese ya lo repare agregando estas lineas de codigo

ProveedorDao proveedorDao = new ProveedorDaoImpl();
proveedor = proveedorDao.buscarPorId(id);
  #4 (permalink)  
Antiguo 14/11/2012, 21:16
 
Fecha de Ingreso: noviembre-2012
Ubicación: Argentina
Mensajes: 5
Antigüedad: 12 años
Puntos: 0
Respuesta: Hibernate y jsf problemas con eliminacion

Buenas Tardes, estoy teniendo un problema bastante especifico.
Les comento a ver si alguien me puede ayudar con esto.

Tengo 3 tablas: Tabla Cliente, Tabla direccion y una tabla de referencia "client_address" que solo tiene 2 campos (IDCliente y IDDireccion)
(la relacion es many to many)

EN uno de los HBM, las mismas estan configuradas asi:
<set name="addresses" table="client_address" lazy="true" cascade="all-delete-orphan" inverse="true" >
<key column="id_client"/>
<many-to-many class="com.asofarma.fm.fe.model.Direccion" column="id_address"/>
</set>

ESTE CODIGO XML LO QUE HACE ES AL HACER UN SAVE DEL OBJETO ES CREAR:
• 1 registro en client_address(tabla intermedia)
• 1 registro en Address(en la tabla maestrs)

Aquí me surge el problema de que a veces en la pantalla necesito realizar una creacion de tabla maestra + tabla de referencia(asociacion) y a veces no, ya que los datos en la maestra ya existian, y solamente tengo que hacer la asociacion(insert en la tabla de referencia)

Tal cual como esta el XML, hibernete me esta insertando 2 registros en los 2 casos:
1 registro en la tabla maestra
1 registro en la tabla de referencia (asociacion el registro creado recientemente)

CASOS:
Tengo casos en los que le CREO "UN DOMICILIO" a un cliente.Al ser un nuevo domicilio estaria bien que se cree un nuevo registro en domicilio y luego otro nuevo registro en la tabla de referencia asociando el domicilio con el cliente.
Tengo otro caso que EL DOMICILIO ya existe, y solamente se lo selecciono al cliente, por lo tanto en la tabla domicilio este ya existe, debiendo solamente registrar la asociacion en la tabla de referencia. (ESTE ULTIMO ES EL QUE NO PUEDO SOLUCIONAR)

Por favor, agradezco alguna orientacion y/o comentarios.

Gracias

Etiquetas: eliminacion, hibernate, jsf
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 15:04.