...
| Bloque de código | ||
|---|---|---|
| ||
package es.um.atica..--------;
import es.um.atica.--------.Usuario;
public class UsuarioDTO {
private String login;
public UsuarioDTO() {
}
public UsuarioDTO(Usuario usuario) {
this(usuario.getLogin());
}
public UsuarioDTO( String login ) {
this.login = login;
}
//////////////////////////////////// GETTERS & SETTERS ////////////////////////////////////
public String getLogin() {
return this.login;
}
public void setLogin( String login ) {
this.login = login;
}
} |
Pasar listas de entidades a DTOs y viceversa
Como hemos visto, para pasar un solo objeto de entidad a DTO o viceversa disponemos del constructor correspondiente. Para todos los objetos de una lista a su otra forma, podríamos hacerlo con un for sin problemas, pero podemos hacerlo de una forma más simple utilizando expresiones lambda. A continuación tenemos un ejemplo con ambas formas de hacerlo, y podemos ver que el código queda más breve utilizando la expresión lambda:
| Bloque de código | ||
|---|---|---|
| ||
final List<AlumnoTitulacion> lista = alumnoTitulacionRepository.findAll();
// Con un for
final List<AlumnoTitulacionDTO> listaDTOfor = new ArrayList<AlumnoTitulacionDTO>();
for(AlumnoTitulacion x : lista) {
listaDTOfor.add( new AlumnoTitulacionDTO(x) );
}
// Con una expresión lambda
final List<AlumnoTitulacionDTO> listaDTOlambda = lista.stream().map( x -> new AlumnoTitulacionDTO( x ) ).collect( Collectors.toList() ); |
Se pueden usar las dos formas indistintamente, según la forma que se prefiera.
Secuencias de base de datos
...