Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2007, 03:18
Avatar de cris_maco
cris_maco
 
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
sesiones de hibernate

hola!!

tengo dudas acerca de las sesiones de hibernate, queria que me aconsejaran. Este es mi codigo:
public void alta(ActionForm Expedienteform)
{
Session session2 = null;
Transaction tx2 = null;
ExpedienteForm form = (ExpedienteForm) Expedienteform;
Expediente expediente = new Expediente();
ClienteDao clienteDao = new ClienteDao();
ClienteVO[] clienteVO = new ClienteVO[0];

try{
//ver si el cliente es nuevo registrarlo

clienteVO=clienteDao.consulta("dni", form.getDni());
if(clienteVO == null)//no hay elementos con ese dni
{
System.out.println("cliente nuevo");
Session session = null;
Transaction tx = null;
Cliente cliente = new Cliente();

session = ProyectoSessionFactory.getSession();
tx = session.beginTransaction();
cliente.setNombre(form.getNombre());
cliente.setDireccion(form.getDireccion());
cliente.setLocalidad(form.getLocalidad());
cliente.setProvincia(form.getProvincia());
cliente.setCodigop(form.getCodigop());
cliente.setDni(form.getDni());
cliente.setTelefono(form.getTelefono());
cliente.setMovil(form.getMovil());
cliente.setFax(form.getFax());
cliente.setEmail(form.getEmail());
session.save(cliente);
tx.commit();
session.close();

}
session2 = ProyectoSessionFactory.getSession();
tx2 = session2.beginTransaction();
expediente.setNumExp(form.getNumExp());
expediente.setFecha(form.getFecha());
expediente.setEncargo(form.getEncargo());
expediente.setPresupuesto(form.getPresupuesto());
expediente.setDnicliente(form.getDni());
session2.save(expediente);
tx2.commit();
}
catch(HibernateException e){
e.printStackTrace();
if(tx2 != null)
try{
tx2.rollback();
}
catch(HibernateException e1){
e1.printStackTrace();
}
}
finally{
try{
if(session2 != null)
session2.close();
}catch(HibernateException e1){
e1.printStackTrace();
}
}
}//alta

lo tengo hecho de esta manera pero creo que se podria hacer de otra mejor, el problema es que no controlo mucho hibernate. si me pudieran indicar
Otra pregunta mas facilita, si yo hago un ArrayList y no me carga nada, que se supone que me devuelve?porque lo comparo con null pero no me da bien.