Necesitamos crear un subreporte para manejarlo, si no fuese un List<> lo manejamos de manera diferente como se indica en el manual de jmoordbreport.
En el reporte
En el subreporte colocamos Rol
y dar clic en en Generador de reportes,
Observe la notificación del reporte se han creado nuevos reportes:
all
details
rol_subreport
usuario_master
Observamos la lista de reportes
En el init() de UsuarioController.java agregamos para indicar el nombre de la empresa
Ejecutamos el reporte
dar clic en el botón imprimir
Podemos ver que no se muestran los Roles ya que es un List<Rol> y estamos invocando el reporte all.jasper, ahora cambiaremos para invocar el reporte master con el subreporte.
Creamos un boton en el formulario list.xtml
antes del </b:panel> superior al datatable
Creamos el método para imprimir en UsuarioController.java
Indicar la ruta del reporte principal:
Indicar la ruta del subreporte
Segmento de código:
Al ejecutarlo
Al dar clic en el botón Subreporte
Haremos el ejercicio de crear un Rol llamador AUDITOR y se lo asigamos al usuario