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.