I am working with Spring mvc, hibernate with connection to SQL and I have trouble loading data on a table, which I have is the following.
Pojo:
public class Trabajador implements java.io.Serializable {
private String idTrabajador;
private EstadoTrabajador estadoTrabajador;
private FormaPago formaPago;
private Nacionalidad nacionalidad;
private Periocidad periocidad;
private Persona persona;
private Sucursal sucursal;
private TipoTrabajador tipoTrabajador;
//getter and setter
}
My dao:
@Override
public List<Trabajador> findAll() {
Session session = sf.openSession();
Transaction tx = null;
List result = null;
try{
tx = session.beginTransaction();
Query query = session.createQuery("FROM Trabajador T");
result = query.list();
tx.commit();
}catch(HibernateException he ){
if(tx!=null) tx.rollback();
}finally{
session.close();
}
return result;
}
My controller:
@Controller
public class TrabajadoresController {
@RequestMapping(value = "/empleados", method = RequestMethod.GET)
public String vistaEmpleados() {
System.err.println("Entro a TrabajadoresController");
return "rrhh/empleados";
}
@RequestMapping(value = "/trabajadores", method = RequestMethod.POST)
public @ResponseBody Map<String, Object> getAllEmployes() {
System.out.println("getAllEmployes de TrabajadoresController:");
STrabajador st = new STrabajador();
Map<String, Object> map = new HashMap<>();
List<Trabajador> list = st.listarTrabajadores() ? st.getLTrabajador() : new ArrayList<>();
map.put("status", 200);
map.put("message", "Datos encontrados");
map.put("data", list);
System.err.println("Entro a lista y contiene " +list.size()+ " datos");
return map;
}
}
Place where I will upload the data:
<div>
<div>
<!-- LISTA DE TRABAJADORES -->
<div id="lista-empleados" class="tab-pane fade in active " style="padding-top: 30px;">
</div>
</div>
</div>
<script>
$(document).ready(function(){
cargarTrabajadores();
});
</script>
and finally ajax:
function cargarTrabajadores() {
var table =
'<table id="tbl-trabajador" class="table-trabajador table table-striped responsive-utilities jambo_table">' +
'<thead>' +
'<tr class="headings">' +
'<th class="hidden"></th>' +
'<th>DNI</th>' +
'<th>Apellidos y Nombres</th>' +
'<th>Teléfono</th>' +
'<th>Dirección</th>' +
'<th>Tipo</th>' +
'<th>Estado</th>' +
'<th class=" no-link last"> <span> Acciones </span> </th>' +
'</tr>' +
'</thead>' +
'<tbody>';
alert("cargarTrabajadores");
$.ajax({
url: "trabajadores.htm",
type: 'POST',
success: function (responseText) {
data = responseText.data;
if (data !== null) {
$.each(data, function (index, item) {
table = table +
'<tr class="odd pointer">' +
'<td class="hidden">' + JSON.stringify(item) + '</td>' +
'<td class=" ">' + item.dni + '</td>' +
'<td class=" ">' + item.ap_paterno + ' ' + item.ap_materno + ' ' + item.nombres + '</td>' +
'<td class="a-right a-right ">' + item.telefono + '</td>' +
'<td class=" ">' + item.direccion + '</td>' +
'<td class=" ">' + item.tipoTrabajador.descripcion + '</td>' +
'<td class="text-center">' +
'<span class="label ' + item.estadoTrabajador.descripcion + ' "> ' + item.estadoTrabajador.descripcion + '</span>' +
'</td>' +
'<td class=" a-center ">' +
'<a style="cursor: pointer;" class="btn-trabajador-info btn btn-info btn-xs" data-toggle="modal" data-target="#panel-info" title="Información"><i class="fa fa-info-circle"></i></a>' +
'<a style="cursor: pointer;" class="btn-trabajador-edit btn btn-dark btn-xs" data-toggle="modal" data-target="#panel-trabajador" title="Editar"><i class="fa fa-pencil"></i></a>';
if (item.nro_hijos > 0) {
table = table +
'<a style="cursor: pointer;" class="btn-trabajador-hijo btn btn-primary btn-xs" data-toggle="modal" data-target="#panel-hijos" title="Hijos"><i class="fa fa-child"></i></a>';
}
table = table + '</td> </tr>';
});
}
table = table + '</tbody> </table>';
$("#lista-empleados").html(table);
inicializaTabla($("#tbl-trabajador"));
}
});
alert("termino");
}
but in the end the data is not loaded, it does not show any error. Does anyone have any idea what it can be?